Excel VBA 文字を変換する(StrConv)

Excel VBA のStrConv関数で、文字を変換するサンプルです。

目次

文字列 文字を変換する(StrConv)

文字を変換する(StrConv)

StrConv(文字列, 定数または数値)
定数 説明
vbUpperCase 1 大文字に変換します。
vbLowerCase 2 小文字に変換します。
vbProperCase 3 最初の文字を大文字に変換します。
vbWide 4 半角 (1 バイト) 文字を全角 (2 バイト) 文字に変換します。
vbNarrow 8 全角 (2 バイト) 文字を半角 (1 バイト) 文字に変換します。
vbKatakana 16 ひらがなをカタカナに変換します。
vbHiragana 32 カタカナをひらがなに変換します。
vbUnicode 64 文字列をUnicodeに変換します。 (Macintoshでは使用不可。)
vbFromUnicode 128 文字列をUnicodeからシステムの既定の文字コードに変換します。 (Macintoshでは使用不可。)

文字を変換するサンプルです。

Sub test1()

    ' 1 大文字に変換
    Dim a As String
    a = "abc"
    Debug.Print StrConv(a, vbUpperCase) 'ABC
    
    ' 2 小文字に変換
    Dim b As String
    b = "ABC"
    Debug.Print StrConv(b, vbLowerCase) 'abc

    ' 3 最初の文字を大文字に変換
    Dim c As String
    c = "abc def ghi"
    Debug.Print StrConv(c, vbProperCase) 'Abc Def Ghi
    
    ' 4 半角文字を全角文字に変換
    Dim d As String
    d = "abc ABC あ"
    Debug.Print StrConv(d, vbWide) 'abc ABC あ

    ' 8 全角文字を半角文字に変換
    Dim e As String
    e = "abc ABC あ"
    Debug.Print StrConv(e, vbNarrow) 'abc ABC あ
    
    ' 16 ひらがなをカタカナに変換
    Dim f As String
    f = "あいう"
    Debug.Print StrConv(f, vbKatakana) 'アイウ
    
    ' 32 カタカナをひらがなに変換
    Dim g As String
    g = "アイウ"
    Debug.Print StrConv(g, vbHiragana) 'あいう
    
    '128 文字列をUnicodeからShift-JIS
    Dim h As String
    h = "abc"
    Debug.Print LenB(h) '6 'バイト数は3ではなく6になる

    'vbFromUnicodeを使用
    Debug.Print LenB(StrConv(a, vbFromUnicode)) '3
    
End Sub

41行目のLenB関数は文字列のバイト数を表示します。
文字列は、半角英字3文字ですが6バイトと表示されます。
44行目でUnicodeからShift-JISに変換しLenB関数を実行すると3バイトになります。

関連の記事

Excel VBA 文字列の位置を取得する(InStr/InStrRev)
Excel VBA 文字列を切り出す(Left/Mid/Right)
Excel VBA 文字列の長さを取得する(Len/LenB)
Excel VBA 英字の大文字と小文字を変換(UCase/LCase)

△上に戻る