VBAのChangeイベントを用いてセルに全角数字を入力した際にすべて半角数字にする処理を実装したいのです。
しかし、下記のコードではセルに全角数字を含む値を入力してエンターを押しても空白セルになってしまいます。
どうするれば解決できるでしょうか。よろしくお願いします。
VBA
1Private Sub Worksheet_Change(ByVal Target As Range) 2 3'セルの値が変更されたときに全角数字をすべて半角数字に変更する。 4 5Dim i As Long 6Dim ansData As Variant 7 8ansData = "" 9For i = 1 To Len(Target.Value) 10 11 If Mid(Target.Value, i, 1) Like "[0-9]" Then 12 ansData = ansData & StrConv(Mid(Target.Value, i, 1), vbNarrow) 13 Else 14 ansData = ansData & Mid(Target.Value, i, 1) 15 End If 16 17 18Next i 19 20Debug.Print ansData 21Debug.Print Target.Address 22 23If ansData <> Target.Value Then 24 Application.EnableEvents = False 25 Target.Value = andData 26 Application.EnableEvents = True 27End If 28 29 30End Sub

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/09 03:14