【VBA】全角と半角を変換する【StrConv関数】

VBAで
 ・角から角へ変換
 ・角から角へ変換
できます!
※アルファベット、数字、カタカナを変換できます。

VBA関数「StrConv」で
変換できます!
※「String Conversion(文字列の変換)」の略です。

PR

全角から半角へ変換

ここでは例として
 ・「090-1234-5678」を
 ・「090-1234-5678」へ変換
します。
※数字をから角へ変換します。

Option Explicit

Sub sample()
    
    Dim targetStr As String
    Dim result As String
    
    '半角へ変換したい全角
    targetStr = "090-1234-5678"
    
    '全角から半角へ変換
    result = StrConv(targetStr, vbNarrow)
    
    '変換されたことを確認
    MsgBox (result)
    
End Sub

VBA関数「StrConv」により、角から角へ変換します(12行目)。
※第1引数に「変換したい文字列」を指定します。
※第2引数に「vbNarrow」を指定します。

1引数に以下を指定した場合は、何も起きません。
※変換されません。エラーも起きません。

角のアルファベット、数字、カタカナ
・ひらがな
・漢字


上記を実行すると
 ・数字を角から角へ変換できること
を確認できます。

実行結果(全角→半角)
実行結果(角→角)
PR

半角から全角へ変換

ここでは例として
 ・「090-1234-5678」を
 ・「090-1234-5678」へ変換
します。
※数字をから角へ変換します。

Option Explicit

Sub sample()
    
    Dim targetStr As String
    Dim result As String
    
    '全角へ変換したい全角
    targetStr = "090-1234-5678"
    
    '半角から全角へ変換
    result = StrConv(targetStr, vbWide)
    
    '変換されたことを確認
    MsgBox (result)
    
End Sub

VBA関数「StrConv」により、角から角へ変換します(12行目)。
※第1引数に「変換したい文字列」を指定します。
※第2引数に「vbWide」を指定します。

1引数に以下を指定した場合は、何も起きません。
※変換されません。エラーも起きません。

角のアルファベット、数字、カタカナ
・ひらがな
・漢字


上記を実行すると
 ・数字を角から角へ変換できること
を確認できます。

実行結果(角→角)
PR

参考

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●VBA関数「StrConv」