エクセルマクロ「英数とスペースを半角に」

未分類
Sub main()

Dim i As Integer
Dim j As Integer

Dim tempStr As String


For i = 3 To 200

  tempStr = ActiveSheet.Cells(i, 5).Value
  
For j = 48 To 48 + 9
  tempStr = Replace(tempStr, StrConv(Chr(j), vbWide), Chr(j))
Next j

For j = 65 To 65 + 25
  tempStr = Replace(tempStr, StrConv(Chr(j), vbWide), Chr(j))
Next j

For j = 97 To 97 + 25
  tempStr = Replace(tempStr, StrConv(Chr(j), vbWide), Chr(j))
Next j

  tempStr = Replace(tempStr, " ", " ")

ActiveSheet.Cells(i, 5).Value = tempStr

Next i


End Sub

エクセル入力はIMEを使うので英語が全角だとか数字がテンキーつかわないと全角だとかスペースを半角にしていたつもりが全角がまじっていたりとかあるわけで、全部半角にするとカタカナも半角になるわけで、そういうときにローマ字と数字だけを半角にしたいコードをつくりおきしておくと楽だと思います。