アルファベット(英字)を大文字/小文字に変換する
VBA で アルファベット(英字)の大文字/小文字を変換するには、UCase 関数と LCase 関数、StrConv 関数を使うことができる。この記事では、UCase/LCase 関数と StrConv 関数の使い方と例を紹介する。
UCase/LCase関数
UCase関数はアルファベット(英字)の小文字を大文字(a→A)に変換する。アルファベットの小文字以外は影響を受けない。
LCase関数はアルファベット(英字)の大文字を小文字(A→a)に変換する。アルファベットの大文字以外は影響を受けない。
UCase/LCase関数は、どちらも対象のアルファベットが全角の場合には全角、半角の場合には半角で結果を返す。
構文
1 2 | Function UCase(String) Function LCase(String) |
戻り値 戻り値は内部処理形式がStringのVariant型で、変換後の文字列を返す。
String 変換したい文字列を指定する。
例
1 2 3 4 | Sub Sample() Debug.Print UCase("Excel VBA") '→ EXCEL VBA Debug.Print LCase("Excel VBA") '→ excel vba End Sub |
StrConv関数
StrConv関数を使ってアルファベット(英字)を大文字や小文字に変換することが出来る。
構文
1 | Function StrConv(String, Conversion As VbStrConv, [LocaleID As Long]) |
String 変換する文字列を指定する。
Conversion 変換後の文字の種類をVbStrConv列挙型の定数で指定する。
LocaleID LCIDと呼ばれる国別情報識別子を指定する。省略した場合はシステム設定値になる。日本語の場合は1041になる。世界の各国にIDが付与されている。
設定項目 内容
String 変換対象の文字列を指定 [省略不可]
Conversion 変換の種類の合計値を指定(表参照) [省略不可]
LCID 国別情報識別子 (LCID) を指定 [省略可能]
アルファベット(英字)の小文字を大文字に変換する場合は、Conversion に vbUpperCase を指定する。
1 | Debug.Print StrConv("Excel VBA", vbUpperCase) '→ EXCEL VBA |
アルファベット(英字)の大文字を小文字に変換する場合は、Conversion に vbLowerCase を指定する。
1 | Debug.Print StrConv("Excel VBA", vbLowerCase) '→ excel vba |
例
1 2 3 4 | Sub Sample() Debug.Print StrConv("Excel VBA", vbUpperCase) '→ EXCEL VBA Debug.Print StrConv("Excel VBA", vbLowerCase) '→ excel vba End Sub |
アルファベットの大文字/小文字だけを変換したい場合は、UCase/LCase で十分である。変換の種類を細かく指定したい場合は、StrConv を使うとよい。