Accessで半角数字を漢数字に変換する方法についてご紹介します。”六百十二”、”六百壱拾弐”、”六一二”など、色々なパターンで出力が可能です。Accessで宛名印刷を行うや見積もり作るときに使えるかも?アクセスで数値を漢字表示する方法にお困りの方は、参考にしてみてくてください。
【用途】
・Accessで宛名印刷を縦書きで行いたいとき
・見積書を作成したい
・数字の桁数確認(数字から漢数字に変換した際のチェック)
【サンプルファイルの環境】
Windows10(64bit)
Office365
目次
手順1.Excel object Libraryの参照設定
1.Visual Basic Editerを起動して、ツール→参照設定をクリックします。

2.Microsoft Excel 1*.0 Object Library にチェックを入れてOKボタンを押します。

手順2.変換用関数作成
ユーザー定義関数を作成するプロシージャを作ります。
[vb] ‘漢字の出力形式のデフォルトを2に設定 Function Kanji_henkan(ByVal suji As Long, Optional ByVal i As Integer = 2) Dim obj As Excel.Application Set obj = CreateObject("Excel.Application") ’StrConv関数で全角数値を半角数値に変換 Kanji_henkan = obj.Application.Evaluate("=NUMBERSTRING(" & StrConv(suji, 4) &"," &i &")") Set obj = Nothing End Function [/vb]実際にkanji_henkan関数を使った結果です。
Kanji_henkan(100000000,1)の結果が「一億」と表示されます。

この関数の引数について
EXCELのNUMBERSTRING関数を利用しているので、それに準じた引数を取ります。
Kanji_henkan(第一引数,第二引数)
第一引数・・・変換した数値
第二引数・・・漢字での出力形式 1~3
例:第一引数:612 第二引数1~3の場合以下のような値が返ってきます。
- 1の場合 六百十二
- 2の場合 六百壱拾弐
- 3の場合 六一二
見積もりに利用するすら第二引数は「1」で、宛名印刷なら「3」でしょうか?2は正直あまり使わないような・・。