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

絶対忘れるので備忘録。


This entry was posted in テクニック, 会社設立・仕事関連 and tagged , , . Bookmark the permalink.

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>