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
絶対忘れるので備忘録。