• ベストアンサー

エクセル ふりがな

すでにあるデータで A列に漢字 となりのB列にはフリガナが入力されています 漢字は 地名で読み方が普通ではなく、数も1000ほどあるので このデータのフリガナをそのまま使いたいのですが 方法はありますか? 検索しても普通のふりがなを付ける方法しか 出て来ません。 よろしく お願いします

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

VBAでの操作になりますね  Sub settingPhone()  Dim c As Range   For Each c In Selection   c.SetPhonetic   Next c  End Sub など、SetPhoneticメソッドでカナを振り付けることができます(使い方の詳細は省略) …が、「他のシートから」セルを参照されるとフリガナが反映されないは、 普通に入力された場合と変わりません その場合は B列を素直に参照するようにすればよいと思いますので VBAでカナを振る意味があまり無いように思います

osiete_01
質問者

お礼

VBA初なんですが頑張ってみます!2度回答ありがとうございました!

その他の回答 (4)

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.5

Sheet1にオートシェープを挿入します。 右クリックして「マクロの登録」→新規作成 ok 下のdim ~Nextまでをすべてコピーして貼り付けます。 シートに戻ります。 このコードは簡略なものにしてありますので 以下の手順に沿ってください。 なお氏名は連続しているものとします。 「ふりがな表示」状態にしておくとわかりやすくなります。 (Excel 2007で確認してあります。) もしこれでうまくいかないときは phonetic.textをsetphoneticに変えてみてください。 VBA経験がない場合はエラーで停止した時に 対処できないのであきらめてください。 (数は多くても手作業で数時間あればできることなので 根気よくがんばってください。) 1、ふりがなをセットしたい漢字氏名の先頭のセルを選択します。   空白があるときは、その下の氏名を選択すればいいです。 2、マウスカーソルをオートシェープの上にもっていきます。   手の形のカーソルになります。 3、マウス左ボタンをクリックしてください。  これで漢字にふりがながふられます。 ただし、漢字1文字ごとではなく全体に対して  Sub 円楕円1_Click() Dim Rst As Long, Ren As Long, i As Long Rst = ActiveCell.Row Ren = ActiveCell.End(xlDown).Row For i = Rst To Ren Sheet1.Cells(i, 1).Phonetic.Text = Sheet1.Cells(i, 2).Text Next End Sub

osiete_01
質問者

お礼

ありがとうございました!

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

質問の意味が大体しかわからない。 >検索しても普通のふりがなを付ける方法しか出て来ません。 >数も1000ほどあるので など質問に書く必要が無い(的外れ)。 ーー 質問は 「1000行以上の漢字文字列と、その隣に読みがなが入っている。 漢字を入力したとき対応する読み仮名を出したい」で良いでしょう。 ーー これに使う関数はVLOOKUPで、ビジネス・仕事では常識的な関数だ。 =VLOOKUP(A1,$A$1:$B$1000,2,FALSE) A1セルの文字列で、表A1:B1000のA列を検索し、見つかった行のB列の値を(この式を入れたセルに)セットせよという関数だ。 2つ以上同じ漢字文字列があると1番上しか見ないよ。 $A$1:$B$1000  は$をつけること。の左端列の隣列の意味。

osiete_01
質問者

お礼

そんなん知っとる

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

B列にある文字列をA列の文字列のフリガナにするVBAです 2行目から開始するようになっていますが、違う場合は  lx = 2 を変えてください A列の途中に空白セルが有るとそこで止まってしまいますので注意してください ------------------------------------------ Sub Furi()   lx = 2   Do Until Cells(lx, "A") = ""     Cells(lx, "A").Phonetic.Text = Cells(lx, "B").Value     lx = lx + 1   Loop End Sub

osiete_01
質問者

お礼

VBA初ですが頑張ってみます!ありがとうございました

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

すみません よく分からない質問なので、こちらから質問させていただきます A列に漢字、B列にフリガナが入力されているのですよね そのフリガナをどうしたいのでしょうか

osiete_01
質問者

お礼

補足もわかりにくいみたいですね…

osiete_01
質問者

補足

わかりづらくてスミマセン 読み方が普通じゃない漢字がA列に入力されています A列の漢字にB列に入力されているフリガナをそのまま付けたいのです。 例として極端ですが A1セルに 太郎 と入力されていて B1セルに ジロウ と入力されている 漢字で太郎と表示されていますが読み方はジロウなのです A1セルの中の太郎の上にジロウとフリガナ表示をしたいのですが データが1000個以上あるので1つ1つ直すには時間がかかりますので 何か方法があればと思いました よろしくお願いします

関連するQ&A

専門家に質問してみよう