即効テクニック |
セルA2に「3丁目29番45号」という文字列が入力されているとします。 サンプルマクロでは、「三丁目二九番四五号」と変換してメッセージボックスに表示します。 セルA2の文字列を1文字ずつSelect...Caseステートメントで確認しながら変換して、確認と変換作業の終わったものをつなぎ合わせています。
Sub Sample() Dim サンプル文字列 As String Dim i As Integer Dim buf As String Dim 変換後文字列 As String 'A2の文字列を取得する("3丁目29番45号") サンプル文字列 = ActiveSheet.Cells(2, 1).Value i = 1 Do While (1) buf = Mid(サンプル文字列, i, 1) '1文字ずつ抜き出す If (buf = "") Then 'サンプル文字列の終端の場合ループを抜ける Exit Do ElseIf ("0" <= buf And buf <= "9") Then '0〜9の場合 Select Case buf 'ここで変換する Case "0" buf = "0" Case "1" buf = "一" Case "2" buf = "二" Case "3" buf = "三" Case "4" buf = "四" Case "5" buf = "五" Case "6" buf = "六" Case "7" buf = "七" Case "8" buf = "八" Case "9" buf = "九" End Select End If '抜き出した1文字(変換後)をつなげ直す 変換後文字列 = 変換後文字列 & buf i = i + 1 Loop MsgBox 変換後文字列 '変換後の文字列をメッセージボックスに表示する End Sub