VBA開発

文字列を指定文字種に変更する【StrConv関数】VBA

構文

StrConv(string,conversion )

string ・・・・任意の文字列
conversion・・変換する文字種(下記定数参照)

定数

定数内容
vbUpperCase1アルファベットを「大文字」に変換
vbLowerCase2アルファベットを「小文字」に変換
vbProperCase3単語の先頭文字を「大文字」に変換
vbWide4半角文字を「全角」に変換
vbNarrow8全角文字を「半角」に変換
vbHiragana16カタカナを「ひらがな」に変換
vbKatakana32ひらがなを「カタカナ」に変換
vbUnicode64「Unicode」に変換
vbFromUnicode128「システムの既定のコード」ページに変換

コードサンプル

Public Sub test()
        MsgBox StrConv("ABC", vbLowerCase)    'abc
        MsgBox StrConv("def", vbUpperCase)  'DEF
        MsgBox StrConv("excel", vbProperCase) 'Excel
End Sub

 

結果サンプル

定数サンプル結果
vbUpperCasevBAまくろ エクセル2019VBAまくろ エクセル2019
vbLowerCasevBAまくろ エクセル2019vbaまくろ エクセル2019
vbProperCasevBAまくろ エクセル2019Vbaまくろ エクセル2019
vbWidevBAまくろ エクセル2019vBAまくろ エクセル2019
vbNarrowvBAまくろ エクセル2019vBAまくろ エクセル2019
vbHiraganavBAまくろ エクセル2019vBAマクロ エクセル2019
vbKatakanavBAまくろ エクセル2019vBAまくろ えくせる2019

※vbUnicode、vbFromUnicodeは省略。

使い方例

上記定数で使用する頻度が高いのは、「vbNarrow」「vbWide」でしょう。
顧客台帳をエクセルで管理している企業様の場合、顧客名カナを「半角カタカナ」で統一すると社内ルールで決めていても、人によって全角カタカナになっている等、ヒューマンエラーがつきものです。ヒューマンエラーをマクロ側で調整する事が可能です。下記パーツ化したマクロも参考にしてください。

全角を半角に一斉に変更するマクロ

半角を全角に一斉に変更するマクロ

英数字は半角それ以外は全角に一斉に変更するマクロ

このような使い方も

定数を複数組み合わせる事で、合算した結果を求める事が可能です。

    '■全角の英字(小文字、大文字もあり)を一度の変換で、半角英字にする
    MsgBox StrConv("EXCELvba", vbNarrow + vbLowerCase) 'excelvba

    '■全角のひらがなを一度の変換で、半角カタカナにする
    MsgBox StrConv("あいうえお", vbNarrow + vbKatakana) 'アイウエオ

 

 

コメント

タイトルとURLをコピーしました