上週二下午被分配到行政課後,課長與我面談了十分鐘,介紹我給行政課同仁認識後,告訴我未來的工作會與採購或材料管理有關,並拿了一本厚厚的「政府採購法令彙編」給我,我拿著這本書從週二下午K到週五下午,我在這幾天裡,上網找出這本書的新修改條文並加注在書上,還從網路上得知有許多地方開設由行政院公共工程委員會主導的「採購基礎班」及「採購進階班」,由此我找到許多這方面的講義、考題(公共工程委員會有設置選擇題及是非題的題庫)及簡報,並在得到退輔會的答覆可全額補助參加大學推廣教育(因我有榮民身份並持有身心障礙手冊)後,向中華大學報名了第四期的「採購基礎班」(97年4月30日~7月12日,週一、三、五或隔週一、三夜間上課),決定趁此機會好好唸唸政府採購相關法令並考取這方面的證照(上課完馬上考試)…
週五下午課長領我去出納室見出納方小姐,因出納為了該職訓中心的訓練補助經費的匯款忙得團團轉,要我先支援出納的業務,當下我就隨著方小姐坐著派車去郵局及銀行了解辦理匯款的程序,回訓練中心後,從她的口中得知現行用來輸入匯款資料的程式(可輸出報表及放在磁片裡給銀行的資料),只能一直累積打進去,無法分班,故而必須到確定匯款前一天才能分批打進,因為每一批打完就必須列印並匯出資料並清除之,才能打入下一批,因為資料裡有匯款日期及批號,須確定匯款日期才能用該程式輸入,否則就會白打了,但這也使得輸入的工作只能集中於前一天而無法平均分佈,造成很出納室很大的困擾。
在得知出納室為這這個問題困擾不已,我就尋思有什麼辦法可以解決這個問題,我分析要解決這個問題,必須將匯出的資料「還原」成報表,且匯出的資料也必須能夠更改匯款日期及批號,當下我就選擇要使用Excel VBA來解決這個問題,並告訴了方小姐,方小姐樂觀其成,於是我就開始設計的程序,剛開始根本就沒有辦法開始,因為我從沒接觸過VBA的設計,根本無從下手,於是我上網找了一些資料,接著在週五晚及週六去借了三本書:
1.Excel VBA與資料庫整合應用大全集
2.Excel VBA功能索引式參考手冊
3.Excel 2002 VBA與進階應用
上面這三本書裡面,第一本「Excel VBA與資料庫整合應用大全集」對於我的幫助最大(因為寫這個程式主要就是開啟txt檔,進行處理後再寫出txt檔,類似處理資料庫,必須開啟檔案讀入及寫出),但因我最基礎的VBA程式設計及操作都還不會,更不用說這種進階的部分了,於是我除了所能找到的這三本書之外,就是不斷上網找我所需要的知識…
在開始設計後才發現自己過於托大,於是在跌跌撞撞下不斷遇到各種困難,還好我的耐心還夠,於是將一個接一個的問題解決掉了,並不斷修正最初的構想,終於在今天下午完成了這個程式,並將匯款程式匯出來的原始資料及使用我設計的程式轉換出來修正的匯款資料及報表全部列印出來並將其中的修正重點勾勒出來,拿給方小姐看,方小姐看了之後非常高興,因為這個耗時三個工作天的程式解決了困擾出納室許久的問題,她喜孜孜的將我列印出來的三張紙拿去向課長報告,然後,下午我就開始拿著積了許多要輸入的資料進行輸入的工作,方小姐拿給我十一個班(一個班大約是廿五至卅五人)的資料,我在下班前輸入了七個班,剩下四個班明早再輸入囉…
以下是我寫的這個轉檔程式運作過程及結果:
1. 做好的Excel VBA是依附在「訓練經費轉檔」裡,所以必須執行「訓練經費轉檔」執行這個VBA程式。
2. 執行之後,就會出現下面這個檔案瀏覽視窗,所要轉檔的名稱是「06063007.txt」,輸入完畢後,點選「確定」至下一個畫面。
3. 接下來是出現下面這個視窗,出現時已將當日的日期及批號的前八碼先行秀出,減少轉檔人員的麻煩。
4. 下面這個畫面是修正後的畫面,點選「確定」就開始進行轉檔的各項處理動作。
5. 轉檔完就會多出以批號為主要名稱的兩個檔,如下圖。
6. 下面這個是原始的匯出檔。
7.下面這個是經過修正重新存檔的匯出檔,可比對上面及下面兩個畫面裡框線不同的地方。
8.下面這個畫面就是利用原始的匯出檔「還原」出來的報表檔。
2008年3月12日 星期三
花了三個工作天寫出來的Excel VBA
張貼者: 天馬工坊 於 3/12/2008 10:45:00 下午
1 意見:
很好的心得分享 VBA初心者留
張貼留言