HOME > 即効テクニック > Excel VBA > 文字列操作関連のテクニック > 文字列の中の数字を漢数字に変換する(サンプル1)

即効テクニック

文字列操作関連のテクニック

文字列の中の数字を漢数字に変換する(サンプル1)

(Excel 97)
 セル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