こんにちは、ユーキです。
今回は、VBAで文字列を大文字/小文字に変換する関数(UCase、LCase)を紹介します。
文字列を大文字/小文字に変換する関数
文字列をすべて大文字にするには、UCase関数、小文字にするにはLCase関数を使います。
文字列を大文字にする(UCase関数)
文字列すべてを大文字にしたいときに使用するのが、UCase関数です。
Dim txt As String
txt = "abcABCあいうxyzXYZ"
MsgBox UCase(txt)
実行結果は「ABCABCあいうXYZXYZ」となります。半角、全角関係なしで大文字になりました。日本語はそのまま変わらずとなります。
大文字のことを英語では「upper case letter」といいます。UCaseという名前は、この「upper case letter」から来ているのでしょう。
文字列を小文字にする(LCase関数)
文字列すべてを小文字にしたいときに使用するのが、LCase関数です。
Dim txt As String
txt = "abcABCあいうxyzXYZ"
MsgBox LCase(txt)
実行結果は「abcabcあいうxyzxyz」となります。半角、全角関係なしで小文字になりました。日本語はそのまま変わらずとなります。
小文字のことを英語では「lower case letter」といいます。LCaseという名前は、この「lower case letter」から来ていると思われます。
UCase関数、LCase関数の使用画面
どういうときにUCase関数、LCase関数を使うのか。
入力値の変換
大文字だけで管理したいというシステムがあるとしましょう。入力は大文字、小文字が混在するような場合、入力→UCase関数→システムに登録とすることで、入力は大文字、小文字が混在しても良くなります。
Dim txt As String
Dim systemItem As String
'入力値が大文字小文字混在
txt = "acBc"
’システムに登録する値は、大文字に変換する
systemItem = UCase(txt)
判定処理の簡潔化
大文字でも小文字でも構わないが、「ABC」という文字列が入力されているかを確認したい場合でも使うことができます。
「abc」でも「Abc」でも「aBc」でもOKというような場合、UCase関数(またはLCase関数)を使用することで1発で確認ができます。
Dim txt As String
'入力値
txt = "aBc"
If LCase(txt) = "abc" Then
MsgBox "正しい"
Else
MsgBox "間違い"
End If
いったん小文字にすることで、判定文を1行にすることができます。
まとめ
今回は、文字列を大文字/小文字に変換する関数(UCase、LCase)の紹介でした。
- 文字列をすべて大文字にするには、UCase関数
- 文字列をすべて小さい文字にするには、LCase関数
- 大文字小文字が混在する場合の統一に使用する
- 大文字小文字不問の場合の判定条件の簡潔化にも利用できる
少しでもお役に立てば、幸いです。