Excel VBAで英数字と記号を半角、カタカナを全角に統一する方法
Excel VBAを使って、英数字と記号を半角に、カタカナを全角に統一する方法をご紹介します。この方法は、データの整形やデータの視認性向上に役立ちます。実際の使い方やサンプルを交えて説明しますので、初心者の方でも安心してお読みいただけます。
ユーザー定義関数の作成
まず、以下のユーザー定義関数を作成します。この関数は、引数として文字列を受け取り、英数字と記号を半角に、カタカナを全角に統一した結果を返します。
Function ToHalfWidthAlnumFullWidthKana(ByVal target As String) As String
Dim character As String
Dim i As Long
Dim result As String
Dim nextCharacter As String
target = target & ChrW(&H200B)
For i = 1 To Len(target) - 1
character = Mid(target, i, 1)
nextCharacter = Mid(target, i + 1, 1)
If (AscW(character) >= &H3041 And AscW(character) <= &H3096) Or (AscW(character) >= &HFF61 And AscW(character) <= &HFF9F) Then
If (AscW(nextCharacter) = &HFF9E) Or (AscW(nextCharacter) = &HFF9F) Then
character = character & nextCharacter
i = i + 1
End If
' 半角カタカナを全角カタカナにする
result = result & StrConv(character, vbWide)
ElseIf (AscW(character) >= &HFF10 And AscW(character) <= &HFF5A) Then
'全角英数字と記号を半角にする
result = result & StrConv(character, vbNarrow)
Else
' それ以外の文字はそのまま追加
result = result & character
End If
Next i
ToHalfWidthAlnumFullWidthKana = result
End Function
使い方
上記のユーザー定義関数を使うには、まずExcelのVBAエディタで新しいモジュールを作成し、上記のコードを貼り付けます。その後、以下のようにExcelのシート上で関数を使用することができます。
=ToHalfWidthAlnumFullWidthKana(A1)
ここでは、セルA1に入力された文字列を関数の引数として与え、結果を表示する例を示しています。
サンプル
以下に、半角と全角が混ざった架空のサンプルを用いて、関数の使い方を説明します。
例1:
元のデータ: 渋谷109ビルB1F カフェテリア12
関数適用後: 渋谷109ビルB1F カフェテリア12
例2:
元のデータ: オンラインショッピングサイトABCストア メンズコーナー
関数適用後: オンラインショッピングサイトABCストア メンズコーナー
例3:
元のデータ: 100ゲームセンターグランドオープン
関数適用後: 100ゲームセンターグランドオープン
これらの例では、英数字と記号が半角に、カタカナが全角に統一されています。この関数を使用することで、データの整形や視認性の向上が期待できます。
まとめ
この記事では、Excel VBAで英数字と記号を半角に、カタカナを全角に統一するユーザー定義関数の作成方法と使い方を説明しました。データの整形や視認性の向上に役立ててください。これからもVBAを活用して、効率的なデータ処理を目指しましょう。
コメント