14歳の自分に衝撃の事実を告げてください

よろしくお願いいたします。
エクセルの名簿で100名以上あるのですが、
フリガナがなく、漢字の「氏名」しかありません。

そこで、氏名の右に列を挿入して、PHONETIC関数をコピーして入れましたが、漢字のままの氏名しか変換されてきません。

◆漢字のあるセルで”「shift」+「alt」+「↑」”をひとつひとつやってみまると、フリガナに返還されますが、手間がかかってしかたありません。
◆関数を使用もしくは、マクロを使用して、一括してフリガナ変換できる方法を教えてください。
よろしくご指導をお願いいたします。

A 回答 (3件)

おそらく、CSVファイルから変換したようなファイルかと思います。


Phonetic関数が使えるのは、Excel上で漢字変換したものだけに限られます。
下記のようなものを標準モジュールに関数として登録すれば少しは役に立つかも?
使い方はPhonetic関数と同じ。

※得られる結果は、IMEで登録されている読み方の中から適当に選ばれますので
必ずしも本来の読み方になるとは限りません。
生方(うぶかた)→ おがた、中田(なかた)→なかだ など等
つまり、最終的には人間のチェックが必要です。

Function gh(rg As Range) As String
  gh = Application.GetPhonetic(rg.Value)
End Function
    • good
    • 2
この回答へのお礼

マクロの関数だと、こんなにシンプルで早く出来るのですね。
ありがとうございました。とても勉強になりました。
また、解説もいただきまして、ありがとうございました。

お礼日時:2006/12/21 17:18

以下のマクロは、1行目がタイトル行として、A列の2行目から漢字の氏名が入っている場合に、B列にフリガナを設定します。

これはVBAのメソッドGetPhonetic()を使ってますが、当然ながらこれで取得したフリガナは間違っていることがあるので、そのときは手で修正してください。

Sub フリガナを取得()
  Dim r As Range
  For Each r In Range("A2", Range("A65536").End(xlUp))
    Range("B" & r.Row).Value = Application.GetPhonetic(r)
  Next
End Sub

また、以下は、B列のフリガナを元に、A列の氏名にフリガナを設定するマクロです。上記マクロで取得したフリガナを修正した後に実行すると、次からはワークシート関数のPHONETIC()で取り出せるようになります。

Sub フリガナを設定()
  Dim r As Range
  For Each r In Range("B2", Range("B65536").End(xlUp))
    Range("A" & r.Row).Phonetic.Text = r.Value
  Next
End Sub
    • good
    • 2
この回答へのお礼

ご丁寧な解説つきのご回答をいただきまして、感謝いたします。
試してみて、完璧にできました。
ありがとうございました。また、勉強にもなりました。

ただ、ポイントにつきましては、先着順での評価をさせていただきました。ありがとうございました。

お礼日時:2006/12/21 17:16

フリガナをつけたいセルを範囲選択して、書式→ふりがな→表示/非表示を


クリックすればふりがなが出てきませんか...
    • good
    • 4

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報