【VBA・Excel】半角と全角を変換する

VBA・エクセルで半角英数を全角に変換したりその逆を行う関数の使い方。JIS関数とASC関数を使用します。

スポンサーリンク

JIS関数:半角を全角に変換する

エクセルのワークシート上で使用する場合はJIS関数を使用します。使い方はシンプルで、引数に文字列を指定すると、文字列に含まれる半角をすべて全角に変換してくれます。

= JIS("[文字列]")

ASC関数:全角を半角に変換する

逆に、全角を半角に変換する場合はASC関数を使用します。JIS関数と同様で、引数に文字列を指定してやれば、文字列に含まれる全角をすべて半角に変換してくれます。

= ASC("[文字列]")

VBAで使用するには?

VBAで使用する際には「StrConv」という関数が使えます。StrConvには二つの引数を与えます。一つ目は変換する文字列。二つ目が変換のタイプを表す値です。この二つ目の引数に「半角を全角」あるいは「全角を半角」にするタイプの値があるので、下記のサンプルのように引数を与えてあげればOKです。ちなみに他の変換タイプとしては、ひらがなをカタカナにするものやその逆を行うものなどがあります。

なお、サンプルコードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。

サンプルコード

'--- 変換後の文字列を格納する変数 ---'
Dim str As String
    
'--- 半角を全角に変換 ---'
str = StrConv("[変換したい文字列]", vbWide)
    
'--- 全角を半角に変換 ---'
str = StrConv("[変換したい文字列]", vbNarrow)