Excel VBA 內建 3 個好用的函數:UCase、LCase 及 SreConv,讓我們在利用 VBA 操作英文字串時,能迅速的轉換英文字母為”大寫”、”小寫”或”字首大寫”。
VBA 是”區分大小寫”(case-sensitive)的程式語言,這表示”相同字母、不同大小寫”的 2 組字串,VBA 會判斷為不相同,比如 “dog” 及 “Dog”。我們可以使用上述 3 個函數轉換為相同大小寫,再比對字串。如果想要將 VBA 調整為”忽略大小寫”(case-insensitive),可以在模組(module)頂端輸入 “Option Compare Text”,詳細內容請參考 【Excel VBA】如何”忽略大小寫”(case insensitive)?1 行指令快速調整。
內容目錄
UCase | 英文字母轉換為大寫
VBA 的 UCase 函數會將英文字母轉換為大寫,並回傳轉換後的值。 UCase 函數只有 1 個引數(argument),引數可以輸入”字串”、”變數”或是”儲存格的值”。如果我們需要比對字串, UCase 是個經常且容易使用的函數。
UCase 語法如下:
UCase(string)
UCase 範例如下:
Dim strTextRaw As String
Dim strTextUCase As String
strTextRaw = "hello world"
strTextUCase = UCase(strTextRaw)
MsgBox strTextUCase
上述範例中,我們將變數 strTextRaw 的英文字母轉換為大寫,再將轉換後字串輸入至變數 strTextUCase 。最後,呼叫對話框 (MsgBox) 顯示轉換後的字串:
LCase | 英文字母轉換為小寫
如果要將英文字母轉換為小寫,我們可以呼叫 LCase 函數,語法及操作跟 UCase 函數一樣。
LCase 語法如下:
LCase(string)
LCase 範例如下:
Dim strTextRaw As String
Dim strTextLCase As String
strTextRaw = "HELLO WORLD"
strTextLCase = LCase(strTextRaw)
MsgBox strTextLCase
上述範例中,我們將變數 strTextRaw 的英文字母轉換為小寫,再將轉換後字串輸入至變數 strTextLCase 。最後,呼叫對話框顯示轉換後的字串:
StrConv | 英文字首轉換為大寫
我們可以呼叫 StrConv 函數,將字串轉換為字首大寫。StrConv 函數有 2 個引數:第 1 個引數需輸入”轉換的字串”;第 2 個引數需輸入”轉換的類型”。
StrConv 語法如下:
StrConv(string, conversion)
string 為”要轉換的字串”;conversion 為”要轉換的類型”,轉換常數可參考 Microsoft文件。
我們目的是將字串英文字母轉換為”字首大寫”,因此要在第 2 個引數內輸入代碼:vbProperCase,範例如下:
Dim strTextRaw As String
Dim strTextPCase As String
strTextRaw = "hELLO wORLD"
strTextPCase = StrConv(strTextRaw, vbProperCase)
MsgBox strTextPCase
上述範例中,我們將變數 strTextRaw 的英文字首轉換為大寫,再將轉換後字串輸入至變數 strTextPCase。最後,呼叫對話框顯示轉換後的字串:
StrConv | 英文字母轉換為大寫/小寫
我們只需要調整 StrConv 函數的第 2 個引數,就可以將字串轉換為大寫或小寫,效果等同 UCase 及 LCase 函數。
大寫常數:vbUpperCase
小寫常數:vbLowerCase
Dim strTextRaw As String
Dim strTextUCase As String
Dim strTextLCase As String
strTextRaw = "Hello World"
strTextUCase = StrConv(strTextRaw, vbUpperCase)
strTextLCase = StrConv(strTextRaw, vbLowerCase)
MsgBox strTextUCase & vbCrLf & strTextLCase
上述範例中,我們呼叫 StrConv 函數,輸入大寫/小寫的常數在第 2 個引數。依據輸入的常數,變數 strTextRaw 分別轉換為大寫/小寫。轉換後字串,再分別輸入至變數 strTextUCase 及 strTextLCase 。最後,呼叫對話框顯示轉換後的字串:
如果本篇文章有幫助到你,請在下方拍手圖示按 5 下。只要花幾秒鐘登入 Google 或 FB 帳號,不需任何花費就能提供我實質的回饋,支持我繼續創作,謝謝