[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『郵便番号→住所→ふりがな』(SOS)
いつもお世話になっております。
名簿の作成で困っております。
例えば503-0000で変換すると「岐阜県大垣市」と入力されます。
そこに同時にフリガナも表示させたいのですが、PHONETIC関数をいれると
表示が503-0000になってしまいます。
これを住所とフリガナを同時に表示させるにはどのようにすればいいでしょうか?
よろしくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
http://www.post.japanpost.jp/zipcode/download.html
から必要な地域の郵便番号データをダウンンロードして検索する仕組みを作ってはどうですか?
(ウッシ) 2016/10/25(火) 10:49
回答になっていなくてすまないが。
Private Sub Worksheet_Change(ByVal Target As Range) Dim WK_RANGE As Range
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
For Each WK_RANGE In Intersect(Target, Range("A:A")) WK_RANGE.Value = WK_RANGE.Value WK_RANGE.SetPhonetic Next End Sub こういうものを考えたのだが(A列に住所が入力されたときにいったん振り仮名情報を消し その後改めて振り仮名情報を付けている)
これがWindows7+Excel2010の環境で上記を実行するとExcelは動作を停止しましたと出て Excelが再起動してしまう。
回避策がわかる人はいるだろうか? (DoEventsは試したが駄目だった) (ねむねむ) 2016/10/25(火) 11:13
イベントを抑制すれば良さそうです。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WK_RANGE As Range If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub Application.EnableEvents = False For Each WK_RANGE In Intersect(Target, Range("A:A")) WK_RANGE.Value = WK_RANGE.Value WK_RANGE.SetPhonetic Next Application.EnableEvents = True End Sub
(ウッシ) 2016/10/25(火) 11:23
ウッシさん、???さんありがとう。 (私のほうでもついさっきイベント連鎖に気付いた)
あと、私のほうではシートに =PHONETIC(A1) を入れていたのだがこれをなくすとイベントの連鎖だけで済み、ある場合だとExcelの再起動が起こるようだ。
(ねむねむ) 2016/10/25(火) 11:28
B列の数式は消しておいてもらって、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WK_RANGE As Range If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub Application.EnableEvents = False For Each WK_RANGE In Intersect(Target, Range("A:A")) WK_RANGE.Value = WK_RANGE.Value WK_RANGE.SetPhonetic WK_RANGE.Offset(,1).Value = WK_RANGE.Phonetic.Text Next Application.EnableEvents = True End Sub
にして貰えばいいかも?
(ウッシ) 2016/10/25(火) 11:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.