~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 聲明事項 ~
如各位想把以下本文章轉貼 , 請記得要注明出處.
本文章之內容為本人之經驗所寫, 絕無抄襲成份, 特此聲明.
由於圖片製作需時, 所以更新會比較慢.
存放圖片的 SHARE A PIC SERVER 可能讀取速度較慢, 請耐心等待.
現在開始要做的 , 就是程式在第一次執行時要做什麼 , 首先要做的 , 是要知道有多少東西要做 , 所以 , 又要使用我們經常使用的程式碼 :
==========================================
Worksheets("Summary").Select
Worksheets("Summary").Range("B3").Select
ActiveCell.End(xlDown).Select
LastRec = ActiveCell.Row
==========================================
先選擇 SUMMARY 頁面的儲存格 B3 , 再利用 ActiveCell.End(xlDown).Select 來查詢最後一個記錄在那裡 , 之後 , 就利用變量 LastRec 來記錄這一個位置 LastRec = ActiveCell.Row .
現在記錄了所有記錄的數量了 , 之後就可以開始第一次使用 , 第一次使用時 , REF # 一定是 1 吧 , 所以程式碼是 :
==========================================
Worksheets("Invoice").Select
Worksheets("Invoice").Range("A2").Value = 1
==========================================
選擇 INVOICE 頁面 , 再把 INVOICE 頁面的儲存格 A2 的值改為 1 , 行了 ~
記得第一回時 , 我們說過的函數 CONCATENATE 嗎 ? 由於我們之前在 INVOICE 頁面所作出的修改 , 現在的查詢條件變更成為 REF 2# 中的資料 , VLOOKUP 的功能把對應的東西全都找了出來 , 現在 , 為配合今次的更新 , 我們要叫程式自動把有資料的地方都確定一下 , 所以增加了一句程式碼 :
==========================================
For CheckArea = 6 To 15
If Worksheets("Invoice").Range("C" & CheckArea).Value <> "" And Worksheets("Invoice").Range("D" & CheckArea).Value <> "" And Worksheets("Invoice").Range("E" & CheckArea).Value <> "" And Worksheets("Invoice").Range("F" & CheckArea).Value <> "" Then Worksheets("Invoice").Range("G" & CheckArea).Value = "Y"
Next CheckArea
==========================================
變量 CheckArea 的設定範圍是 6 到 15 ( 這是我們這個測試檔的設定吧 ~ ) , 如果 INVOICE 頁面的儲存格 C6 D6 E6 F6 都不是空白 , 那就在儲存格 G6 加上一個 “ Y ” 字 .
有了這個資料之後 , 我們就得到了一個必要的資料 : 有多少個 REF 2# 包含在一個 REF # 內 . 當然 , 不是放著就可以的 , 我們要電腦去幫我們計算一下 , 所以又要再一次增加程式碼 :
==========================================
Worksheets("Invoice").Range("G16").Select
ActiveCell.End(xlUp).Select
LastShowing = ActiveCell.Row
==========================================
先選擇 INVOICE 頁面的儲存格 G16 , 再向上找 , 找到第一個由下向上看 , 第一個有數據的儲存格位置 . 然後 , 用變量 LastShowing 來記錄下來 .
嗯 , 可能現在你會想到一個問題 , 為什麼儲存格 C6 到 儲存格 A16 都有資料顯示的我不用 , 就要用 G 的位置來找東西 ? 嗯 , 這個問題很好 , 我們的 VLOOKUP 函數公式的設定是 , 如果找到就顯示對應數據 , 否則就顯示空白 . 的確 , 現在我們看到的是空白 , 但是 , 如果你點選一下那些顯示空白的儲存格你就會發現 , 對電腦而言 , 這是有東西的 . 所以那些 xlUp xlDown 什麼的都不能應用在這裡 .
( Pic3_1 )
明白了嗎 ? 嗯 , 很好 , 我們繼續 ~ ( 感覺好帥哦 ~ 哈哈 ~ )
要知道有多少個記錄被顯示的話 , 就利用剛才的變量 LastShowing 減 5 吧 ~ 為什麼是 5 ? 很簡單吧 , 因為現在的測試設計中 , 儲存格 G6 才是第一個記錄位置 , G5 是空白的 , 只要計算出 LastShowing 的值與 5 的差距 , 結果就是有多少個記錄已經被顯示了 ~
==========================================
Ref2TTL = LastShowing – 5
==========================================
又再一次利用一個新的變量 Ref2TTL 來記錄這個 LastShowing – 5 的結果 . 嗯 , 有留意到之前的一句程式碼是 Worksheets("Invoice").Range("A2").Value = 1 嗎 ? 嗯 , 可能你已經在問 , 為什麼不先處理打印的問題 , 不過我想告訴你 , 這個只是很簡單的問題罷了 , 等一下才解決吧 ~
嗯 … 文章又太長了 , 下一編繼續吧 ~ 哈哈 ~
0 留言:
發佈留言