住所録の漢数字を半角数字に変えるには?

Question 13.4 Previous Next
はじめてお便りお致します。ホームページを拝見致しました。大変恐縮なのですが、
今住所録を作成しています。エクセルで作成中なのですが。住所録の数値が、漢数字で編集されています。これを半角英数にする方法は、ないのでしょうか。

関数など検索してみましたが、該当するものが有りません。一個づつ入力していくしか、ないのでしょうか。 もしよろしければ、一番簡単な方法を教えて頂けませんか。マクロなどの操作は、初歩的な段階なら何とかなりそうです。 お忙しいとは存じますが、詳しい方が周りにおりません。何卒、よろしくお願い致します。
Answer   Copyright (C) 1998.12.11 永井善王
年賀状を書く季節ですね。私もそろそろ始めないと。
このテーマは簡単そうで、やっかいな問題を含んでいます。下図を見ながら一緒に考えて行きましょう。
置換シート
漢数字を半角数字に置き換えるだけなら、Replaceメソッドで可能になります。
例えば、
Range("A1").Replace what:="五", replacement:="5" と、書きます。

左図のA列の「元データ」を、漢数字の住所と思ってください。
B列は Replaceメソッドで13:00 2001/10/21半角数字に置き換えた結果です。

黄緑色のセルは、うまく置換できていますが、オレンジ色のセルはダメです。

第1の問題点として、十、拾、百、千などの字が混ざると、意味を解釈しながら置き換えないと、使いものになりませんね。

第2の問題点としては、Replaceメソッドは、指定された範囲に、指定された文字列があると置換しますから、番地以外にも漢数字があると、置換してしまいます。
A19セルを例にとれば、四日市市の「四」が「4」に置き換わります。セルに番地だけが入っているのでしたら、問題点にはなりません。
以上を踏まえて、まとめると、3つの方法が考えられます。(番地だけではない場合)
1) 問題点を承知の上で一旦、置換して、番地以外で置換された文字を入力し直す
2) 十、拾、百、千などの意味を解釈して置換するマクロを組む
3) データの内容にもよるが、数100件程度ならばハンド修正した方が、結局早いかも知れないので、ハンド修正する。
マクロの詳細は、「
漢数字を半角数字に置換」を見てください。

 

Excel VBA Macro