Excel VBA を使用して、テキストデータ内の数字のみを、全角から半角に変換する方法です。
数字のみを対象に変換することで、データの整形や処理を効率化できます。
目次
変更する例
変更前
変更後
数字のみ全角から半角に変換するコード
変換したい文字を選択した状態で実行します。
Sub sample() Dim rng As Range Dim cell As Range Dim str As String Dim i As Integer Dim fullWidthNums As String Dim halfWidthNums As String Dim pos As Integer ' pos 変数の宣言 ' 全角数字と半角数字の文字列 fullWidthNums = "0123456789" halfWidthNums = "0123456789" ' 変換対象のセル範囲を選択 Set rng = Selection ' 選択範囲内の各セルを処理 For Each cell In rng str = cell.Value For i = 1 To Len(str) ' 文字が数字かどうかをチェックし、全角数字なら半角に変換 pos = InStr(fullWidthNums, Mid(str, i, 1)) If pos > 0 Then Mid(str, i, 1) = Mid(halfWidthNums, pos, 1) End If Next i ' 変換した文字列をセルに戻す cell.Value = str Next cell End Sub