VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單

VBA能以簡潔清楚的方式完成Excel操作,本文Excel建立英文字母清單為例,先介紹cells.Clear及Msgbox作用,再說明如何運用VBA的Chr函數及Next迴圈流程,輕鬆寫入所需的資料。

一、Excel函數應用

Excel本身的欄號就是英文字母清單,先利用Address、Row與Column函數得到儲存格位址字串,再結合MID文字函數取得橫排的英文字母清單。可以參考贊贊小屋先前文章,溫故知新一下。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 1

二、ASCII Chart

在開始接下來的VBA程式設計之前,由於Excel函數和VBA程式碼都會用到ASCII代碼,因此先補充一下相關知識。ASCII Chart是American Standard Code for Information Interchange(美國資訊交換標準程式碼)的簡稱,等於是古早打字機如何輸入文字的代碼系統,由一系列連續數字作為符號代碼,它從序號65號開始是英文字母大寫A,序號66是英文字母大寫B,以此類推,依照此特性,便可以用適當的數值得到相對應的英文字母。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 3

三、清除儲存格內容

將滑鼠座標移至Excel左上方的三角形符號,再按左鍵,即可全選整個工作表,在上方功能區依序前往「常用>編輯」,將「清除」下拉,點選「清除內容」,就能清除目前工作表上的所有資料,準備寫入新的內容。在此可以參考輔助視窗的說明,這個操作並不會清除掉格式與註解。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 5

四、VBA清除儲存格

前面介紹Excel清除儲存格內容的方式,現在來看看在VBA下如何操作,於
VBA模組輸入清除儲存格的程式碼「Cells.Clear」,如下方:

Sub A_清除儲存格內容()

Cells.Clear

End Sub

再點選上方的「執行」鍵或按「F5」,工作表的資料就被清空了,和第三步驟的Excel操作完全作用,因此它其實就是以VBA方式進行Excel操作。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 7

五、VBA MsgBox函數

Excel Char函數會依照電腦字元集,顯示代碼所對應的字元,從ASCII可知序號65號代表英文字母大寫A,在VBA也有相同功能的程式碼「Chr」,於VBA的模組裡輸入以下程式:

Sub B_ASCII代碼測試()

MsgBox Chr(65) & Chr(66)

End Sub

再點選上方的「執行」鍵或按「F5」,即可看見顯示AB的訊息視窗。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 9

六、VBA迴圈控制

在測試了較為關鍵的Chr函數之後,接下來要設計迴圈以跑出A到Z的大寫字母清單,先以「Cells.Clear」清除目前工作表,再以迴圈事件「For i = 1 To 26」代表總共26個字母,第一欄直排的大寫英文字母清單,對應到的程式碼是「Cells(i, 1) = Chr(65 + i – 1) 」,同樣的,第一列大寫字母清單的程式碼為「Cells(1, i) = Chr(65 + i – 1) 」,最後是「Next i」執行下一個i迴圈直到依序全數完成。

完整程式碼如下:

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 11

七、執行VBA程式

滿心期待的執行最終設計完成的VBA程式專案,果然自動清除Excel儲存格舊有內容,並且出現第一直排(欄)和第一橫列的英文大寫字母清單。

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 13

Excel操作與VBA程式碼

本文介紹如何利用VBA的Chr函數和Next迴圈流程,產生英文字母清單,雖然Excel函數公式也可以得到相同成果,但相比起來較為繁複。Excel函數公式和VBA程式碼各有強項,合併使用更是威力大增,想要縱橫職場可得多多研究這兩把刷子呢!

每天學習,每天充電:VBA自動化文章合輯

VBA Chr函數應用:ASCII代碼表建立Excel英文字母清單 15
歡迎加入Line社群,口袋裡的VBA小教室!