エクセルの中で全角数字と半角数字がが混在する時、全部を半角数字に直したい時がある。
一つ一つ置換(ctrl+H)で全角数字を半角数時に置換してもいいが、この置換作業を0~9まで繰り返さないといけないためちょっとめんどくさい。
次にASC関数を使用してもいいが、この関数、全角カナも半角カナに変換してしまう。
というわけでマクロで処理することにしてみたのでメモ。
マクロは[ツール]→[マクロ]→[Visual Basic Editor](Alt+F11)でVBE画面を開き、
画面の左にある[VBAProjectエクスプローラのシート名右クリック]→「挿入」→「標準モジュール」で表示される画面に以下のコードを貼り付ける。
Sub MacroR() Dim idx As Integer, trg As Range Set trg = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, xlTextValues) For idx = 0 To 9 trg.Replace What:=Right(StrConv(str(idx), vbWide), 1), _ Replacement:=Right(str(idx), 1) Next End Sub
一度、VBE画面を閉じる。
実行は[ツール]→[マクロ]→[マクロ](Alt+F8)を押して、マクロ名を選択。
するとみるみる、全角数字が半角に書き換わっていく。
まぁ念のためにファイルのバックアップをとってから実行した方がいいかも。