LCase、UCase
LCase関数は英字を大文字から小文字(A→a)に変換し、UCase関数は小文字から大文字(a→A)に変換します。
全角と半角の場合についてですが、半角の場合は半角のままで変換し、全角の場合も全角のまま変換します。
また、利用する機会はほとんどないとは思いますが、LCase関数やUCase関数と同じ動作をワークシート関数のUPPER関数とLOWER関数や、StrConv関数で実現することも出来ます。これらについても後述しています。
構文
1 2 |
Function UCase(String) Function LCase(String) |
戻り値 | 戻り値は内部処理形式がStringのVariant型で、変換後の文字列を返します。 |
String | 変換したい文字列を指定します。 |
LCase、UCaseのサンプルコード
文字列に含まれる英字を変換するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 |
Sub LCaseTest() Dim s s = "abc abc ABC ABC" Debug.Print s '// abc abc ABC ABC Debug.Print LCase(s) '// abc abc abc abc Debug.Print UCase(s) '// ABC ABC ABC ABC End Sub |
ワークシート関数のUPPER関数とLOWER関数
UCase関数とLCase関数と同じ機能をワークシート関数のUPPER関数とLOWER関数を使って実現できます。
UPPER関数とLOWER関数はワークシート関数のため、Application.Evaluateメソッドで実行します。
Evaluateメソッドの詳細については「VBAからExcelのワークシート関数を使う」をご参照ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub UpperLowerTest() Dim ret Dim s s = "abc abc ABC ABC" Debug.Print s '// abc abc ABC ABC '// abc abc abc abc ret = Application.Evaluate("UPPER(""" & s & """)") Debug.Print ret '// ABC ABC ABC ABC ret = Application.Evaluate("LOWER(""" & s & """)") Debug.Print ret End Sub |
StrConvでの大文字、小文字変換
StrConv関数を使って大文字や小文字に変換することが出来ます。
StrConv関数の詳細については「VBA関数:文字の種類を変換する(StrConv)」でご参照ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub StrConvULTest() Dim s s = "abc abc ABC ABC" Debug.Print s '// abc abc ABC ABC '// abc abc abc abc Debug.Print StrConv(s, vbUpperCase) '// ABC ABC ABC ABC Debug.Print StrConv(s, vbLowerCase) End Sub |