隔了快一個月才發實作的文章好像真的有點久,一來是因為要過年了,公司忙家裡也忙;二來是心裡一直在猶豫要如何表現第一次練習程式的方式,但是糾結半天也想不出個偉大的方案,索性就丟著,等到有想法的時候再來寫嚕!

      第一次寫程式,依照書本的慣例,一定要來輸出個『Hallo! 歡迎來到VBA的世界。』之類的文字。我想我們也從善如流,目標就訂為在工作表1中的A1儲存格寫入剛剛提到的文字吧!這是相當簡單而基礎的練習,大家可以依照下面的流程動手做看看嚕~

還記得我們之前說的事嗎?要寫程式之前要先進入Excel VBA整合式開發環境(IDE),我習慣的方式就是在工作表的標籤上按右鍵,然後點選快速功能表中的檢視程式碼,如下圖

  Ex1-1.png

進入IDE介面後,我們在左上-專案欄中任意節點上按右鍵,並選擇快速功能表中的插入=>模組

  Ex1-2.png

此時程式會自動產生模組的資料夾,並於資料夾中再產生一個Module1的文件。我們對Module1文件點選滑鼠左鍵2下,來開啟這份文件,而我們等會就是要將程式碼寫在這一個文件之中。開啟文件後裡面應該是空白的,我為了要表現等會要寫程式的樣子,所以先打了幾個字上去來稍微表示一下。

    Ex1-3.png

現在我們正式來寫入程式碼吧!寫完之後記得存檔,然後就可以切換回Excel視窗,

程式碼的範本如下:

Sub Test_1()
   Worksheets(1).Range("A1").Value = "Hallo! 歡迎來到VBA的世界。"
End Sub

寫完上面這些東西,到底代表什麼意義呢?就讓我來說明一下吧!我們在寫程式的時候,需要告訴電腦你的程式區塊是怎麼分的,主要有2種。一種是以Sub開頭的,另一種是以Function做開頭,後面接的就是程式的名字。這2種開頭有甚麼差別呢?Sub開頭我稱它為副程式,它只能接收別人丟給它的值,但沒辦法回傳值;而Function我稱它為函式,它可以接收別人丟給它的值也可以回傳它運算完的結果給呼叫它的人,所以我們可以依據程式設計的內容來決定要建立Sub或是Function。

順便一提的是,程式命名的原則第一個字不可為符號或數字,因此你可以取"FF1"或是"程式1"都是被允許的,但是"5PK"或是"#KH"就會出現警告嚕~再來就是程式碼的內容囉!眼尖的人應該會發現怎麼跟之前筆少了WorkBooks(1)這個東西呢!那是因為你不指定的話,程式會自動以活動中的活頁簿作為程式執行對象,因此當程式執行時會遇到多個活頁簿切來切去的話最號前面就要加上指定活頁簿的語法,以免執行到一些不是你要的目標上面,那你就DeBug做不完嚕!

Worksheets(1).Range("A1").Value這是在告訴電腦我的操作目標是工作表編號為1中的A1儲存格的值,而後面接的等於是指派的意思,就是將等號後面的東西指派給等號前面的物件。在本次例子,等號後面為『Hallo! 歡迎來到VBA的世界。』這個字串,在程式表示語法中字串必須用2個"來包住,因此等號後面的寫法是"Hallo! 歡迎來到VBA的世界。",但如果是數字、日期的話就不用使用"來包住囉~

    Ex1-4.png

現在來嘗試讓程式動起來吧!怎麼做呢?請先點選功能列上檢視的標籤,然後點選巨集=>檢視巨集,或是用快速鍵Alt+F8來呼叫巨集執行介面。

Ex1-5.png

此時你會看到巨集列表,點選你要執行的巨集名稱後,再點選執行即可

  Ex1-6.png

然後我們再移到A1儲存格你就會看到程式執行的結果嚕~

Ex1-7.png

 

      以上就是簡單而基本入門的練習,從這個練習可以學習到建立模組、建立副程式、寫資料到儲存格以及執行巨集,之後的文章就會以解釋程式碼為主,就不再針對如何執行來進行解釋嚕!希望這個文章對於完全沒有經驗的人有所助益,當然很多東西沒辦法一次講完,例如為何要創建模組之類的...之後我們再藉由一些更複雜的程式來說明。

創作者介紹
創作者 粽子的部落格 的頭像
粽子

粽子的部落格

粽子 發表在 痞客邦 留言(0) 人氣( 4571 )