note VBA學習分享

keep reading...




先整理一些有用的資源,再紀錄一些我覺得實用的東西

資源:

中文-
1.http://blog.gtwang.org/programming/vba/
(對VBA入門很有用,但是好像還沒做完)
2.http://blog.xuite.net/fvba/vbatips
(有時間可以從頭看到尾,大概就有個兩成功力)

英文-
1.http://excelvbatutor.com/vba_tutorial.html
(可以查一些範例,是一些比較簡單的應用)
2.http://spreadsheetpage.com/index.php/tips
(更多實用範例,但是內容比較深)
3.http://www.skilledup.com/articles/advanced-excel-vba-programming
(我還沒看過,不過先放著應該有些資源可以挖)

------

用法:

VBA也算是物件導向的程式,使用VBA的原因我覺得有以下幾個

1.辦公室,常常在整理一些報表、甚至是學生成績等等
  ->利用VBA幫你一個鍵做完繁雜或重複的動作
2.會處理一些龐大的excel資料,例如寫論文
  ->可以很快的找到資料有問題的地方
3.對資料庫儲存有簡單需求的

第三點比較複雜,也是我現在在學的
利用資料庫的概念,讓excel可以與網路的資料同步
並且利用自己的邏輯將資料儲存下來,以備查詢
(基於excel之上,建立資料儲存及查詢系統)

寫起來的感覺很像C、C++之類的
有一些比較相同的邏輯,例如for next迴圈、case條件
但是真正應用時仍需要學很多語法
因為VBA 代表 Visual Basic for Application
就是對office 系列的應用軟體所提供的VB

所以如果學過MS的VB,應該很好上手

------

語法:

提供兩個網站
1.http://alyoou.pixnet.net/blog/post/42784108-excel-vba-相關語法
2.https://dotblogs.com.tw/yc421206/archive/2008/11/23/6055.aspx

下面這段是在書裡面看到的,十分容易理解



上面是介紹 物件+屬性,除此之外,就是要學 物件+方法
Cells(1,1).Clear ->此時clear就是一個動作,會把1-1的內容給清除

概念是這樣,再加上前面的實用網站,就可以開始寫自己的程式
我覺得要靠網路資料及自己實作的方式學VBA,實在滿難的
有兩個建議提供參考
1.網路資料是給有底子的人看的,沒有底子的人建議去udemy、coursera或補習之類的
2.善用錄製巨集的方式,先錄一個步驟,再點進去就知道程式碼要怎麼用

-----

實用:

介紹幾個在書上發現還不錯的技巧

1.簡化複製貼上的流程
worksheets(1).Range("A1").copy _
    Destination:=Worksheets(2).Range("A1")

2.選擇性貼上


3.偏移選擇儲存格
Selection.Offset(-1,2).Select

4.特殊儲存格
例如要找空白或是包含公式的儲存格
儲存格物件.SpecialCells(Type, Value)


5.儲存格區域
被邊界或空白行列所包圍的有資料的區域就叫『儲存格區域』
Range("A1").CurrentRegion.Select

6.找尋區域末端
就是Ctrl+上下左右的概念
Range("A5", Range("A5".End(xlToRight)).Select
*如果有可能該欄沒有資料,則不建議用End(xlToDown)

-------

熱門文章