ExcelのVBAで半角を全角に変換するのはとても簡単です。
「StrConv」を使うといろいろな変換ができます。
引数に「vbWide」を指定すると半角を全角に変換します。
使用例は次の通りです。
Function han2zen(t)
han2zen = StrConv(t, vbWide)
End Function
han2zen = StrConv(t, vbWide)
End Function
次は半角カタカナを全角に変換する方法です。
カタカナは全角に変換するが、英数字は半角のままにしたい、というようなケースに使います。
Function han2zen_kana(t)
Dim u, v As String
Dim i As Long
u = StrConv(t, vbWide)
For i = 1 To Len(u)
If Mid(u, i, 1) Like "[!ァ-ヶー]" Then
v = v & StrConv(Mid(u, i, 1), vbNarrow)
Else
v = v & Mid(u, i, 1)
End If
Next i
han2zen_kana = v
End Function
Dim u, v As String
Dim i As Long
u = StrConv(t, vbWide)
For i = 1 To Len(u)
If Mid(u, i, 1) Like "[!ァ-ヶー]" Then
v = v & StrConv(Mid(u, i, 1), vbNarrow)
Else
v = v & Mid(u, i, 1)
End If
Next i
han2zen_kana = v
End Function
「Like」を使っています。
これはVBAでワイルドカードを使う場合に用いられます。
You Look Too Cool » VBAでワイルドカードを使う
「Like “[!ァ-ヶー]”」とすることで全角カタカナ以外の場合のみを取り出すことができます。
上の例では全角カタカナ以外の場合のみ半角に変換しています。
コメント