郵便番号から住所を自動表示
お世話になります。
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列にこの住所が表示されます。「学習した番号については、うまくいく」ような感じです。
何か解決する方法はないでしょうか。
よろしく願いします。