EXCELで半角のカタカナを全角のカタカナに変換する(英数字は半角にする)

ECサイトではCSVファイルで編集をすることが多い。
その時によく使うのが「文字の置き換え」だったりする。
バイト制限などあって全角スペースを半角にしたり、「&」は全角にしたりとか、いろいろ…

すべてのカタカナや英数字を半角にする関数は「=asc()」、逆に全角にする関数は「=jis()」で超簡単。
しかし、カタカナだけを全角にするとなると難しい。マクロをつくることに。

このマクロは
「先ずすべての文字を全角に変換し、次に全角の英数字や記号(-だけ)を半角に戻す。よって、全角の英数字は半角に変換される。」
※スペースも全確になる。半角にする場合は「置き換え」で。


Sub han2zen()
  Dim c As Range
  Dim i As Integer
  Dim rData As Variant, ansData As Variant
    For Each c In Selection
      ansData = “”
      For i = 1 To Len(c.Value)
        rData = StrConv(c.Value, vbWide)
        If Mid(rData, i, 1) Like “[A-z]” Or Mid(rData, i, 1) Like “[0-9]” Or Mid(rData, i, 1) Like “-” Then
          ansData = ansData & StrConv(Mid(rData, i, 1), vbNarrow)
        Else
          ansData = ansData & Mid(rData, i, 1)
        End If
      Next i
      c.Offset(0, 1).Value = ansData
    Next c
End Sub

絶対忘れるので備忘録。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です