• ベストアンサー

エクセル コピーしたセルにふりがなを表示させる方法

タイトルの通りなのですが、具体的に書きます。 エクセルに詳しい方、よろしくお願いします。 Sheet1のC6のセル(漢字の名前)を Sheet2のD12のセルでコピー(=Sheet1!C6)させたのですが、 このセル(Sheet2のD12)にふりがなを表示させたいです。 私はマクロには疎いのですが、ネットで検索したところ、 Sub ふりがな設定() Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub を登録して実行すれば良いと書いてあったので試したのですが 実行しても、ふりがなが表示されません。 別の方法でも構いませんので、何か良い方法があれば 教えていただきたく、よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

>複数のセルを結合して1つのセルとして認識させて 結合セル?orz ではこれで試してください。 Sub Macro2() Dim r As Range  If TypeName(Selection) = "Range" Then   For Each r In Selection    If r.Value <> "" Then     r.Phonetic.Text = Application.GetPhonetic(r.Value)    End If   Next r  End If End Sub

garfy
質問者

お礼

結合セルと単一のセルではコマンドが異なるのですね。 とても勉強になりました。 おかげさまで解決しました! ご丁寧に最後までお付き合いいただき、本当に ありがとうございましたm(__)m

その他の回答 (4)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#02です。もしかしたら複数のセルを選択して実行されませんでしたか? そこは先のマクロでは手抜きしていましたので、作り直しました。 garfyさんの操作手順は間違いないと思います。前回、今回のマクロはWinXP+Office2003で動作確認しています。 Sub Macro2() Dim r As Range If TypeName(Selection) = "Range" Then   For Each r In Selection     r.Phonetic.Text = Application.GetPhonetic(r.Value)   Next r End If End Sub

garfy
質問者

補足

再度のご回答ありがとうございます。 セルは、複数のセルを結合して1つのセルとして認識させて いるので問題ないかと思っているのですが・・・ 当方WinXP+Office2007です。 早速いただいたマクロをコピペして実行してみたのですが、 以下のメッセージが出てきてしました。 実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。 やはり私の力不足でしょうか(涙)

回答No.3

参照したセルに対して、ふりがなの設定はできないみたいですね。 知りませんでした。 参照設定先であるSheet2のD12のセルに対して、 ふりがなの設定をするのはちょっとよくわからなかったので、 例えば、Sheet2のD13とかにふりがなをふるのでもよければ、 D13に、「=PHONETIC(Sheet1!C6)」と設定してはどうでしょうか?

garfy
質問者

お礼

回答ありがとうございます。 bluepenguinさんの方法、早速試させていただきました。 別のセルで良ければ、ふりがな表示できることが分かりました。 他の方の回答をお待ちして、「同じセルに漢字&ふりがなを 表示させる方法」がなければ、こちらの方法で代用させて いただきたいと思います。 アドバイス、ありがとうございました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

C6セルに適当な漢字を「手入力」して、「書式」→「ふりがな」→「表示/非表示」を選択するとC6せるにフリガナが表示されます。(質問文のマクロは上記操作に相当するものです。別にマクロなんて必要ありません) また隣のセルに =PHONETIC(C6) と入力すればフリガナが表示されます。 でも別のアプリケーションからCOPYしたテキストをC6に貼り付けると、フリガナは表示されず、隣のセルには貼り付けたテキストがそのまま表示されるはずです。 質問の状態はフリガナが設定されていない状態になっているからだと思います。これに無理矢理フリガナを設定する方法があります。以下のマクロを「フリガナ」を設定したいセル範囲を選択した状態で実行してください。 Sub Macro2()  Selection.Phonetic.Text = Application.GetPhonetic(Selection.Value) End Sub ただしこのマクロではフリガナが実際の読み方と異なる場合があります。その場合は「書式」→「ふりがな」→「編集」で修正する必要があります。

garfy
質問者

補足

おっしゃる通りで、COPYしたC6のセルはひらがなの表示設定をクリックしても表示されません。 教えていただいたマクロ、試したのですが、以下のメッセージが 出て、実行できませんでした。 実行時エラー'1004'; 'GetPhonetic'メソッドは失敗しました;'_Application'オブジェクト なにぶんマクロ初心者なもので、私のマクロ入力や実行の操作が 間違っているのかもしれません。以下、私が行った方法です。 Visual Basic→挿入「標準モジュール」で教えていただいた マクロを入力。 エクセル画面に戻りC6のセルを選択した状態で、マクロ→Macro2 →実行 間違いなどありましたらお手数ですがご指摘いただけると 幸いです。

回答No.1

こんにちは。 そんなに難しいことをしなくても、簡単にふりがなを表示することができますよ(^v^*) まずはSheet1のC6のセルに入力された文字をCtrl+Cでコピーして、それをSheet2のD12のセルにCtrl+Vで貼り付けます。 これでSheet2にはもっていけたので、ここから[書式]→[ふりがな]→[表示/非表示(S)]で簡単にふりがなを表示させることができますよ。 頑張って下さい。

garfy
質問者

補足

ご回答ありがとうございます。 私の説明が下手で申し訳ありません。 今回のシートは1回使用して終わるのではなく、 Sheet1のC6セルにその都度別の名前をいれることを想定している ので、Sheet2のD12のセルにリンク(D12に=Sheet1!C6と入力)させて います。 amai_cocoa様の方法でもうまくいきましたが、 その都度「Ctrl+Cでコピーして、それをSheet2のD12のセルにCtrl+Vで貼り付ける」作業が大変なのです。 リンクさせたセルに、ふりがなの表示をクリックしても ふりがな表示されずに困っております。 何か良いお知恵がありましたら教えてください。 今、上記の方の方法を試しているところです。

関連するQ&A