2009年2月28日 星期六

[正經]VBA誠好物

M$的office大家都很熟悉,就算是一般辦公小姐也會使用基礎功能。"大家都會用"這件事對我來說真的是一大福音。雖然我對有點軟帝國沒有什麼好感,不過在辦公室軟體應用上的確給了我們很大的空間。
前一陣子收資料收到快瘋掉,負責整理的小姐交給我們的資料問題死很大、死不要錢。
這樣的狀況將有所改善!我寫了VBA到Excel檔案裡做一些基本驗證處理,讓這些人丟資料給我們前就先發現錯誤,並且產生資料庫裡的資料表,我想未來碰到問題會少很多。



Anyway,那要學VBA從何學起? 好歹我們已經學過C之類的語言,坊間很多VBA的書都太基礎了。我的做法是Excel F1功能查詢 + Google + 某本VBA功能索引式參考手冊(這本日本人寫的 還不錯用 名稱差不多 請自行Google吧) = 快速上手VBA

首先為了要有基本概念,也就是說了解VBA可以做些什麼,這時候書就派上用場了。這也是為什麼我建議要買就買字典式手冊,因為一般基礎書集光資料型態、流程控制 if...else, loops就可以教當成好幾章來教你。對曾經學過任一種程式語言的我們而言,那些頁面都是廢物。使用這本書,不用死記書上內容,只要翻閱幾次大概知道有哪些功能就好。
另外,這本書就算攤開在地上,我相信雜兵也不會有興趣來看,偷襲不成的話請愛用M9麻醉槍(啥)
再來就動手寫個小東西吧,幾種常用的Method就會記住(xx請自行帶入):
  • 讀取儲存格的值:xxx .Value
  • 選某頁工作表:Worksheets(xx)
  • 選某工作表的某格:Worksheets(xx).Range("A1") 或 Worksheets.Cells(1,1)
  • 選某工作表的某格的值:Worksheets(xx).Range("xx") .Value
  • 剩下的就自行看範例說故事(喂)
但是書的壞處就是範例可能不夠仔細,或者是版本老舊不能用(雖不至於,不過新版的一些函數的引數的確有改變)。那麼F1和Google就是你的好朋友。

F1可以協助查尋function的用法,而debug遇到麻煩的問題時,
Google告訴你:
你不孤獨

沒有留言: