夢見る税理士の独立開業繁盛記

神戸市東灘区で開業している駆け出し税理士の、試行錯誤日記

事務所ホームページはこちらです→神戸市東灘区御影の会計事務所 小林敬幸税理士事務所

エクセルのユーザーフォームで、郵便番号から住所を入力するには?

「顧客管理と売上管理を一緒にできるようなエクセルファイルってできるかな?」という話をお客様としたことがあったので、先週あたりからぼちぼちと検討中。


今日は顧客情報を登録する画面を作っていたのですが、悩んだのが郵便番号から住所を引っ張ってくる方法です。
f:id:kobarin:20150316200842j:plain
ワークシートだとGetPhonetic関数を使うと上手くいくのですが、ユーザーフォームの場合はこの方法が使えないのでうーんと悩んでしまいました。アドインを入れると、端末ごとの設定が面倒だし・・・。

悩んだ時のグーグル先生ということで、さっそく聞いてみたところ、こんな方法を紹介したHPがありました。
Excel VBA:webサービスAPIを使って入力された郵便番号から住所に変換する関数のサンプル
これだと郵便番号をネットで投げると住所に変換して戻してくれるので、ネットにつながってさえいれば設定不要で使えるし、ファイルも軽いままでOKですね。
なるほど〜こんな方法もあるんだ・・・。

というわけで、リンク先のコードを頂いて、以下のような簡単なマクロを書いてみました。

Private Sub CommandButton1_Click()
'変数宣言
Dim Postalnum As Variant


'郵便番号を変数に格納
Postalnum = TextBox4.Text


' 郵便番号のテキストボックスに3桁以上の郵便番号があり、住所がブランクの場合のみ住所を変換させる
If ((Len(Postalnum) >= 3) And (TextBox5.Value = "")) Then

'変数を渡して、結果をテキストボックスに入れる
TextBox5.Text = ZipCodeToAddress(Postalnum)


End If

End Sub

結果は大成功!


※火曜、水曜と税理士さんや弁護士さんと一泊旅行に行ってきました。
f:id:kobarin:20150317174704j:plain
経験豊かな税理士さんたちから、時間を気にせず夜遅くまで色々なことを教えてもらうのもいいものですね。
もっと勉強しないと!!


神戸市東灘区御影の会計事務所 小林敬幸税理士事務所です