2013年1月9日 星期三

VBA 上課嚕-怎麼開始寫 VBA

image

說 "上課嚕" 其實幾米蘇自己也有點不好意思

(因為我自己也是個初初初初到不行的初學者阿 XD)

但是為了能強迫自己多學 & 跟大家分享我的學習進度這樣

就打上網誌跟大家分享嚕

首先跟大家解釋一下啥是 VBA 好了

VBA 簡單的說是組成 "巨集" 的程式語言

(其實寫法就跟 Visual Basic 一模模一樣樣)

而巨集呢,簡單的說就是可以幫你完成一連串滑鼠或是鍵盤動作的一個 "動作集合"

譬如說我每天要寫的工作紀錄好了

每次都要複製某個名稱到指定的儲存格

然後要在另一個儲存格標上今天的日期

然後要統計今天或是某個期間的數量

一般可能就是複製貼上,然後篩選,看有幾個

但是透過巨集的設計,可能按一下就都幫你完成了喔

是不是很神奇阿

在這邊先講一下

幾米蘇的工作環境大多使用 Office2010

所以在這邊也是以 Excel 2010 來做說明嚕

首先先說明怎麼開始寫 VBA

先打開 Excel

image

在 "檔案" 的地方點一下

image

選項

 

image

到自訂功能區,把 "開發人員" 選項打勾

image

確認之後,你的主畫面就會多一個 "開發人員" 的頁籤 (有沒有瞬間覺得變專業了起來 XD)

image

點進去以後選 "Visua Basic” 就會出現寫 VBA 的畫面嚕

image

來試試寫一個簡單的

選 Visual Basic 視窗中的 "插入->模組" 就可以開始寫嚕

image

先在那空白的地方打入以下文字

Sub test()
Range("A1") = Date
End Sub

接下來回到 Excel 主視窗

一樣在開發人員的地方,點一下 "插入->按鈕"

image

image

接下來在合適的地方拉出一個按鈕來

image

滑鼠左鍵放開之後,會出現一個要你選擇巨集的視窗

就選剛剛寫好的 "test" 吧

image

接下來就會出現一個按鈕,在按鈕上面點右鍵,有編輯選項可以改變按鈕上面的字

點一下按鈕,就會在 A1 儲存格顯示今天的日期嚕

image

image

來簡單說明一下程式碼好嚕 (其實這段程式碼應該非常白話才是 XD)

第一行的 "Sub XXX()" 就是你這個巨集的名稱 (XXX),每個巨集的開頭幾乎都是長這樣子的

第二行的 "Range("A1") = Date" 就是程式碼的部分嚕

這邊程式碼應該算很好理解

程式碼的結構簡單的來說,就是將等號的左邊輸入等號右邊的值

以此例來說,就是將 Range("A1") (A1範圍的儲存格) 輸入 Date (今天的日期,就是 Excel 函數裡面的 Today)

而為何要強調 "A1範圍" 呢

如果在這邊把 "Range(“A1”)" 改成 "Range(“A1:C1”) 在執行一次看看

image

就會在 A1:C1 範圍一次貼上今天的日期嚕

是不是就省下了複製、貼上的時間了呢

往後會再介紹變數配合儲存格,活用後就可以在你想要的位置加上你想要的數值嚕

而第三行的 "End Sub" 則是在每一個巨集的結尾都要加上,代表這個巨集到這邊結束了 (因為新增一個模組可以打好幾個巨集進去,所以要告訴它哪裡是結束嚕)

是不是很神奇呢

今天就先打到這邊吧~

希望大家看到那麼多字會很好睡 (?)

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...