こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

郵便番号から住所を自動表示

お世話になります。
Excel 2016を使用して、A列のセルに郵便番号を入力すると、B列のセルにその住所を表示するようにしたいと思います。Webから検索した次のようなVBAをSheet1のシートモジュールとして貼り付けました。
Private Sub Worksheet_Change(ByVal Target As Range)
'範囲は、A2~A100 に郵便番号を入力する場合
If Intersect(Target, Range("A2:A100")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
With Target.Offset(0, 1).Validation
.Delete
.Add Type:=xlValidateInputOnly
.IMEMode = xlIMEModeHiragana
End With
If Target Like "###-####" Then
Target.Offset(0, 1).Select
SendKeys Target.Value
SendKeys "{ }"
SendKeys "{ENTER}{ENTER}"
SendKeys "{Left}"
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
この結果自分の住所の郵便番号の場合はうまく表示されました。そのほかの番号の場合は、
瞬間的に何か表示されたような気はしますが、結果的には列に入力した番号が表示されます。
またうまく表示されないB列の郵便番号を変換キーで住所に変換する作業を3~4回繰り返した後にこの番号をA列に入力するとB列にこの住所が表示されます。「学習した番号については、うまくいく」ような感じです。
何か解決する方法はないでしょうか。
よろしく願いします。

投稿日時 - 2016-04-23 22:01:46

QNo.9162882

困ってます

質問者が選んだベストアンサー

> 「学習した番号については、うまくいく」

変換候補の一番上にあるものを表示するようになっていますので、そのような結果になります。

VBAを使わずに
A2に
=PHONETIC(B2)
としておいて
B2に郵便番号を入力して変換して住所を出す
というのはいかがですか。
B列の入力規則でIMEがオンになるようにしておけば多くても初回だけ変換キーを3回押せば住所が出てきます。

投稿日時 - 2016-04-23 23:00:59

お礼

kkkkkm さん、ありがとうございます。
> 変換候補の一番上にあるものを表示するようになっていますので、そのような結果になります。
なるほど、納得です。
確かにこの方法では、困難ですね。
> A2に
=PHONETIC(B2)
この方法も理解できました。
この入力は、女性3人が担当します。何とか理解させます。
助かりました。
またよろしくお願いします。

投稿日時 - 2016-04-24 20:34:04

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問