VBA

【VBA】数字を漢数字に変更する関数

記事内に商品プロモーションを含む場合があります

こんにちは、hokkyokunです。

業務で数字を漢数字に変換する必要があったので
ちょっと考えてみましたのでシェアします。

具体的には「営業1部」と書かれたデータを「営業一部」に変える必要があったので、
いちいち変えるのは大変だし、今後そういう風に書く人がいたら自動で変えたかったので
関数化しました。

関数のコード

Function ConvertToKanji(ByVal text As Variant)
    Dim kanji As String
    Dim digits() As String
    Dim digit As String
    Dim i As Integer
    
    ' 漢数字の文字列を配列に格納
    digits = Split("〇 一 二 三 四 五 六 七 八 九", " ")
    
    ' 数字を文字列に変換して1文字ずつ処理
    For i = 1 To Len(text)
        digit = Mid(text, i, 1)
        
        '一文字が数字に変換できれば変換、できなければそのまま
        If IsNumeric(digit) Then
            kanji = kanji & digits(digit)
        Else
            kanji = kanji & digit
        End If
        
    Next i
    
    ConvertToKanji = kanji
End Function

使用方法

使ってみます。

Sub testkanji()

Dim text As String
text = "営業1部"
Debug.Print ConvertToKanji(text)

End Sub