~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 聲明事項 ~
如各位想把以下本文章轉貼 , 請記得要注明出處.
本文章之內容為本人之經驗所寫, 絕無抄襲成份, 特此聲明.
由於圖片製作需時, 所以更新會比較慢.
存放圖片的 SHARE A PIC SERVER 可能讀取速度較慢, 請耐心等待.
沒想到你能堅持到這裡 ~ 呵呵呵呵 ~ 很期待吧 ~ 期待解決方法嗎 ?
哈哈 ~ 好 ~ 開始吧 ~
現在 , 因為這個檔是複製出來的 , 而且只是一個測試檔 , 就先打開你的 VBA 編輯器 , 把所有的程式碼都刪掉 ~ 重新再做過吧 ~
什麼 ? 為什麼要重新再做過 , 不是修改一下就行了嗎 ?
嗯 … 這個是我的個人習慣 , 為了避免一大堆的程式碼影響自己的思考 , 所以每次改動之前我都會複製一個檔出來 , 再把複製本的所有程式碼全部刪掉 , 就當是之前沒做過 , 直接做一個新的就好 .
今次要寫的程式 , 主要的目的是把上一次進化版的問題保完 , 把所有之前沒考慮過的問題和之前懶得去想的問題全部處理好 .
好了 ~ 不太多廢話了 ~ 開始說一下我對於這個問題的理解 .
首先 , 一張發票只包含了一行資料這種可行性其實是很低的 , 最常見的便利店發票都不會只能顯示一行貨品 , 所以這樣的問題一定要解決 , 而為了保證在看總表時能夠方便看到 , 我用了一個很原始的方法 , 在報表上加上一個 REF 2# , 代表著一個 REF # 內所包含的不同貨品資料 . 同時 , 為了方便確定資料是屬於那一個 REF # , REF 2# 的輸入方法定義為 ?A ?B ?C 等等 .
( Pic2_1 )
如果有一個這樣的轉變 , 那麼之前所想出來的 VLOOKUP 函數公式全部都得要更改了 , 因為原本的 VLOOKUP 公式的查詢條件已經不成立 , 現在要用 REF 2# .
然後 , 就到想一下 VBA 程式要怎樣寫 , 和程序處理的流程問題 , 先做什麼 , 再做什麼 .
嗯 … 的確很複雜 … 救命 …
好了 ~ 開始動手寫程式 ~
第一個問題 , 跟之前的一樣吧 ~ 就是 “ 如何要電腦自行考慮那個記錄的資料需要打印 ” , 之前有教過大家我是怎樣做到這一點的 , 現在就再做一次 , 不過 , 我們要再想多一件事 “ 怎樣才能使電知道這次是第一次使用 ” , 這個問題很解單就解決了 , 程式碼如下 :
==========================================
Worksheets("Summary").Range("I4").Select
If Worksheets("Summary").Range("I4").Value = "" Then FirstUse.FirstTimeUse Else SecondUse.SecondTimeUse
==========================================
( Pic2_2 )
之前的進化版中有說過 , 如果已經打印的 , 就在 SUMMARY 頁面中 , “ 已打印 ” 和 “ 打印日期 ” 中加上資料 , 所以 , 如果這個儲存格 I4 沒有資料 , 就正好代表著這是第一次使用 , 嗯 … 剛剛看過了之前進化版的教學文 , 好像沒有提及過如何在電腦打印後 , 自動在 “ 已打印 ” 和 “ 打印日期 ” 中加上資料 … 嗯 … 漏了吧 … 哈哈 ~
不過 , 記得 , 千萬不要跟我說你是每次打印完之後 , 都是自己打上去的 , 我會哭的耶 ~ 因為這證明了你沒有動動腦筋嘗試要電腦做哦 ~
好吧 ~ 今次的改版就一次過把問題都處理好吧 ~
再看一看上面的程式碼 , 如果 SUMMARY 頁面的儲存格 I4 是空白 , 就執行模組 FirstUse 的 FirstTimeUse , 否則 ( 即 SUMMARY 頁面的儲存格 I4 不是空白 ) 就執行模組 SecondUse 的 SecondTimeUse .
原先在測試的時候 , 我也沒想過有這個安排的 , 不過因為到最後程式碼太長了 , 不好看 , 所以就把程式碼分別放在兩個不同的模組位置內 , 一方面是方便處理 , 另一方面是容易看 .
嗯 … 今次的文章又有點太長了 , 下一編繼續吧 ~ 哈哈 ~ 順道騙一個頁面顯示量 ~ 哈哈 ~
0 留言:
發佈留言