• ベストアンサー

エクセル

エクセル A列に人名 B列にその人名のヨミガナが入っている。 A列の人の読み仮名をb列のものでふりがなをつけておくにはどうするか。 (このようにしておかないとA列人名をフィルタ表示してもあいうえお順で表示されないため)

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

ちからワザでやるなら、A列のセルをWクリックしたあと右クリック→「ふりがなの編集」 で一つずつ編集することができます。 マクロ使ってもいいなら、たとえば、 Sub yomi() Dim rIdx As Single Do Until Cells(rIdx + 1, 1).Value = "" rIdx = rIdx + 1 Cells(rIdx, 1).Characters(1).PhoneticCharacters = Cells(rIdx, 2).Value Loop End Sub みたいな方法はあるかと思います。 マクロなしで、自動的にやる方法は思いつきません。 うまくできますように。

taktta
質問者

お礼

NO2さんのマクロの方法を早速試した所うまくいきました。 どうもありがとうございました。

taktta
質問者

補足

Do Until Cells(rIdx + 1, 1).Value = "" これはプログラム上どういう意味でしょうか。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

もう正解が出ていて、その後に混ぜ返すようですが B列に振り仮名を入れておかなくても エクセル2000以降では A列に漢字を入力し(他ファイルからコピーしてきてもよい。その前は手入力された文字列にのみ、ふりがなの情報が作成されていた。) Sub test02() d = Range("A65536").End(xlUp).Row Range(Cells(1, "A"), Cells(d, "A")).SetPhonetic Range(Cells(1, "A"), Cells(d, "A")).Phonetics.Visible = True End Sub を実行するとA列に振り仮名が振られる。 多分システムで単語辞書から読みを引いているようである。 漢字だけにふりがなが振られる。 全体をカナで表示したものがほしいときは Sub test03() d = Range("A65536").End(xlUp).Row For i = 1 To d Cells(i, "D") = WorksheetFunction.Phonetic(Cells(i, "A")) Next i End Sub を実行すればD列にカナが取り出せる。 参考までに。 VBAの意味は自分で調べてください。

  • mojonbo
  • ベストアンサー率57% (4/7)
回答No.3

>Do Until Cells(rIdx + 1, 1).Value = "" >これはプログラム上どういう意味でしょうか。 Cells(rIdx + 1, 1)の値が空になるまで、DoからLoopの間に記述された内容を繰り返し行うと言う意味です

taktta
質問者

お礼

補足とりけし。意味理解OKです。

taktta
質問者

補足

マクロは正しく動くことはもちろんわかっておりますが、こうすると一見 人名データがクリアされてしまうのではないかと思えてしまうのですが。  =””しているので

回答No.1

A列すべてを選択し、入力する前に書式→ふりがな→設定 B列にはそのふりがなをそのまま入力 これでいかがでしょうか?

taktta
質問者

お礼

NO2さんの方法を早速試した所うまくいきました。 どうもありがとうございました。

taktta
質問者

補足

Do Until Cells(rIdx + 1, 1).Value = "" これはプログラム上どういう意味でしょうか。

関連するQ&A