VBA 大文字、小文字 – 大文字小文字関数
In this Article
このチュートリアルでは、VBAのUCASE、LCASE、STRCONV関数の使用方法を説明します。
VBAで作業していると、文字列を小文字や大文字、または単語の先頭のみ大文字(プロパーケース)に変換したい場合があります。これは、UCase、LCase、およびStrConv関数を使用することで可能です。 VBAは大文字と小文字を区別するので、これらの関数はVBAで文字列を操作する際に重要です。VBAで大文字と小文字を区別しないようにするには、モジュールの先頭にOption Compare Textを追加する必要があります。これについては、こちらで詳しく解説しています:VBAの大文字と小文字を区別しないようにする
UCase – 文字列を大文字に変換する
VBAのUCase関数は、文字列のすべての文字を大文字に変換します。引数は1つだけで、文字列、文字列を含む変数、またはセルの値です。この関数は、2つの文字列を比較する場合によく使用されます。以下は、UCase関数のコードです。
Dim strText As String
Dim strTextUCase As String
strText = "running Uppercase function"
strTextUCase = UCase(strText)
MsgBox strTextUCase
この例では、変数 strTextのすべての文字を大文字に変換し、変換後の文字列を変数strTextUCaseに代入したい。最後に、変換された文字列を含むメッセージボックスを呼び出しています。
LCase – 文字列を小文字に変換する
文字列のすべての文字を小文字に変換したい場合は、LCase関数を使用する必要があります。この関数は、UCaseと同じように1つの引数を持っています。以下は、LCase関数のコードです。
Dim strText As String
Dim strText As String
strText = "RUNNING lowerCASE FUNCTION"
strTextLCase = LCase(strText)
MsgBox strTextLCase
この例では、文字列変数strTextの文字をすべて小文字に変換している。その後、変換された文字列を変数strTextLCaseに代入しています。
StrConv – 単語の先頭文字のみ大文字に変換する
StrConv関数を使用すると、単語の先頭文字を大文字に、それ以外を小文字に変換することができます。この関数には2つの引数があります。1つ目は、変換したい文字列で、もう1つは、変換したい文字列の種類です。単語の先頭文字のみを大文字に変換するには、vbProperCaseに設定する必要があります。この関数のコードは次のとおりです。
Dim strText As String
Dim strTextProperCase As String
strText = "running proper case function"
strTextProperCase = StrConv(strText, vbProperCase)
MsgBox strTextProperCase
この関数がどのように動作するかは、サンプルでおわかりいただけると思います。この関数は、与えられた文字列の単語の先頭のみを大文字に、それ以外は小文字に変換します。
StrConv – 文字列を大文字または小文字に変換する
StrConv関数を使用して文字列を大文字または小文字に変換することもできます。これを行うには、第2引数にvbUpperCaseまたはvbLowerCaseを設定します。
strTextConverted = StrConv(strText, vbUpperCase)
strTextConverted = StrConv(strText, vbLowerCase)
VBA 大文字、小文字、プロパー大文字 – Accessの大文字小文字関数
上記の例はすべて、Access VBAでもExcel VBAとまったく同じように動作します。
Private Sub ClientName_AfterUpdate()
'Client Nameテキストボックスの文字列を大文字に変換する
Me.ClientName = UCase(Me.ClientName)
End Sub