半角を全角に変換するユーザー定義関数

Pocket

ExcelのVBAで半角を全角に変換するのはとても簡単です。
「StrConv」を使うといろいろな変換ができます。
引数に「vbWide」を指定すると半角を全角に変換します。
使用例は次の通りです。

Function han2zen(t)
    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

「Like」を使っています。
これはVBAでワイルドカードを使う場合に用いられます。
You Look Too Cool » VBAでワイルドカードを使う
「Like "[!ァ-ヶー]"」とすることで全角カタカナ以外の場合のみを取り出すことができます。
上の例では全角カタカナ以外の場合のみ半角に変換しています。

[ 2012年1月31日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報