Excel(エクセル) VBA入門:全角英数字を半角英数字に変換する |
| Sub zen2han() Dim c As Range Dim i As Integer Dim ansData As Variant For Each c In Selection ansData = "" For i = 1 To Len(c.Value) If Mid(c.Value, i, 1) Like "[0-9]" Then ansData = ansData & StrConv(Mid(c.Value, i, 1), vbNarrow) Else ansData = ansData & Mid(c.Value, i, 1) End If Next i c.Offset(0, 1).Value = ansData Next c End Sub |
| Sub zen2han() Dim c As Range Dim i As Integer Dim ansData As Variant For Each c In Selection ansData = "" For i = 1 To Len(c.Value) If Mid(c.Value, i, 1) Like "[0-9]" Or Mid(c.Value, i, 1) Like "−" Then ansData = ansData & StrConv(Mid(c.Value, i, 1), vbNarrow) Else ansData = ansData & Mid(c.Value, i, 1) End If Next i c.Offset(0, 1).Value = ansData Next c End Sub |
【コード例C】
| Sub zen2han() Dim c As Range Dim i As Integer Dim ansData As Variant For Each c In Selection ansData = "" For i = 1 To Len(c.Value) f Mid(c.Value, i, 1) Like "[A-z]" Or Mid(c.Value, i, 1) Like "[0-9]" Or Mid(c.Value, i, 1) Like "−" Then ansData = ansData & StrConv(Mid(c.Value, i, 1), vbNarrow) Else ansData = ansData & Mid(c.Value, i, 1) End If Next i c.Offset(0, 1).Value = ansData Next c End Sub |
| 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 |
PageViewCounter
Since2006/2/27