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小教室!
Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.