ExcelのVBAで文字列を比較する時に必要になってくることの1つに、大文字、小文字、全角、半角文字が混在する可能性がある文字列の比較があります。
通常、それらが混在する可能性がある文字列同士を比較判別する場合は、比較対象文字列をいずれかの形式に統一してから比較するという方法をとる場合が多いと思います。
そのためここでは、大文字、小文字の変換、全角、半角の変換方法を載せていきたいと思います。
目次
1.大文字、小文字変換方法
文字列の文字について大文字から小文字、小文字から大文字へ変換する場合は、UCase、LCaseという関数を使用します。
1-1.小文字→大文字変換
文字列の小文字を大文字へ変換する場合は、UCaseという関数を使用します。
使い方は以下のようになります。
UCase(文字列)
これにより、「文字列」に含まれる小文字を大文字に変換します。
たとえば、
UCase("abcdef")
とすると、結果は、
ABCDEF
となります。
また、
UCase("ABCdef")
とすると、結果は、
ABCDEF
となります。
1-2.大文字→小文字変換
同様に、文字列の大文字を小文字へ変換する場合は、LCaseという関数を使用します。
使い方は以下のようになります。
LCase(文字列)
これにより、「文字列」に含まれる大文字を小文字に変換します。
たとえば、
LCase("ABCDEF")
とすると、結果は、
abcdef
となります。
また、
UCase("ABCdef")
とすると、結果は、
abcdef
となります。
2.全角、半角変換方法
文字列の中身の文字について全角から半角、半角から全角へ変換する場合は、Strconvという関数を使用します。
2-1.半角→全角変換
文字列の半角文字を全角文字へ変換する場合は、Strconvという関数を使用し、使い方は以下のようになります。
StrConv(文字列 , 変換方法)
「文字列」には変換する文字列を入れます。
「変換方法」に入れられる方法の種類としては以下のようなものがあります。
No | 定数 | 値 | 意味 |
---|---|---|---|
1 | vbUpperCase | 1 | 小文字を大文字に変換 |
2 | vbLowerCase | 2 | 大文字を小文字に変換 |
3 | vbProperCase | 3 | 各単語の先頭の文字を大文字に変換 |
4 | vbWide | 4 | 半角文字を全角文字に変換 |
5 | vbNarrow | 8 | 全角文字を半角文字に変換 |
6 | vbKatakana | 16 | ひらがなをカタカナに変換 |
7 | vbHiragana | 32 | カタカナをひらがなに変換 |
8 | vbUnicode | 64 | 文字列をUnicodeに変換 |
この中のvbWide、vbNarrowを使うことで、全角、半角の変換が行えます。
たとえば、
StrConv("ABCDEF", vbWide)
とすると、文字列が半角→全角変換され、結果は、
ABCDEF
となります。
また、
StrConv("abCDEF", vbWide)
とすると、結果は、
abCDEF
となります。
2-2.全角→半角変換
同様に、
StrConv("ABCDEF", vbNarrow)
とすると、文字列が全角→半角変換され、結果は、
ABCDEF
となります。
さらに、
StrConv("ABcdef", vbNarrow)
とすると、結果は、
ABcdef
となります。
ちなみに、同様に、vbUpperCase、vbLowerCaseを使用すると、先程と同様、大文字小文字変換もできますが、UCase、LCaseのほうが使い方が簡単なので通常はこちらの方を使用します。
関連記事:
【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録
【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録
【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録
【Excel VBA】改行コード(CR、LF、CRLF)の使用方法 - Django Girls and Boys 備忘録
【Excel VBA】ソースコードの改行方法 - Django Girls and Boys 備忘録
【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録
【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録
【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録
【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録
【Excel 名前の定義】「名前"○○○"は既に存在します。この名前にする・・・」のメッセージ表示を解決する方法 - Django Girls and Boys 備忘録
【Excel マクロ(VBA) 行削除】条件を満たした行を削除する方法(For~Next文を使用) - Django Girls and Boys 備忘録
【Excel マクロ(VBA)】最大行番号、最大列番号を取得する方法 - Django Girls and Boys 備忘録
【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録
【Excel VBA】シート削除時などに確認メッセージを表示しない方法 - Django Girls and Boys 備忘録