VBA 英文大小寫轉換 | 3 個函數輕鬆完成

VBA 英文大小寫轉換

Excel VBA 內建 3 個好用的函數:UCaseLCaseSreConv,讓我們在利用 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) 顯示轉換後的字串:

UCase | 英文字母轉換為大寫

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 。最後,呼叫對話框顯示轉換後的字串:

LCase | 英文字母轉換為小寫

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 | 英文字母轉換為大寫/小寫

我們只需要調整 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 。最後,呼叫對話框顯示轉換後的字串:

StrConv | 英文字母轉換為大寫/小寫

如果本篇文章有幫助到你,請在下方拍手圖示按 5 下。只要花幾秒鐘登入 Google 或 FB 帳號,不需任何花費就能提供我實質的回饋,支持我繼續創作,謝謝

發表迴響