• ベストアンサー

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

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

  • garfy
  • お礼率57% (4/7)

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

  • ベストアンサー
  • 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

  • EXCELのマクロで複数選択したとき

    選択したセルに一つ左側の文字列をふりがなとして表示させる方法をマクロで 簡単に実行させたいのですが複数のセルを選択するとエラーになってしまいます。 Sub test() Selection.Characters.PhoneticCharacters = Selection.Offset(0, -1) Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub マクロはさきほど調べたばかりでほとんど理解できていません。おそらく2行目のSelection.Offset(0, -1)の部分がエラーの原因かと思うのですが下記のような表現ができるマクロを教えて下さい。 B1~B10を選択してるときマクロを実行するとA1~A10の文字列をB1~B10にふりがなの文字になる。 * B1にはA1、B2にはA2の文字列とがふりがなになるようにしたい。 マクロに詳しい方よろしくお願いします。

  • EXCEL2010でふりがなマクロを実行したら

    EXCEL 2003で作成したファイルをEXCEL 2010で開いて、以下のマクロを実行しました。 Private Sub CommandButton1_Click() Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub 約4500行ある名前(テキストからのコピペ)全ての行にふりがなを振るためです。 ところが、EXCEL 2003ではほんの数秒で完了するのですがEXCEL 2010で実行した時 10分以上掛かりました。 何か解決策はあるのでしょうか。 因みにEXCEL 2003はWindowsXP、EXCEL 2010はWindows7、それぞれのマシンで 今後も同じマクロを実行する状況にあります。

  • エクセルで別のセルにあるふりがなを,漢字の上に表示させる方法はあります

    エクセルで別のセルにあるふりがなを,漢字の上に表示させる方法はありますか? たとえばA2に漢字表示,B2にそのふりがなが表示されています。このふりがなをA2の漢字の上に表示したい(同じセルの中に)のですが関数でできますか? マクロはほとんど分からないので,できれば関数か他の方法がいいのですが…。

  • エクセルをHTMLとして貼り付けるとふりがなが表示される

    Excel2000を使っています。 エクセルで作った表を、OutLook Express 等のhtmlを編集できるエディタ (htmlメールを作る)にコピー&ペーストすると、漢字のふりがなが表示 されてコピーされます。 これを回避する方法はあるでしょうか? 今は、コピー前に次のマクロでふりがなを削除してから 貼り付けています。 Sub Hurigana() Dim c As Range For Each c In Selection c.Characters.PhoneticCharacters = "" Next End Sub この作業も面倒なので、コピー時にふりがな情報を除いてコピーした いのですが、こんな事は可能なのでしょうか? ご存知の情報がありましたら、よろしくお願い致します。

  • INDEX関数とふりがな表示

    INDEX関数とふりがな表示 Office2007を利用してます。Excelで一枚目のシートに名簿があります。名簿の名前欄にはふりがなが表示されています。(フォネティック関数ではなく、書式のふりがなの表示/非表示です。) 二枚目のシートにインデックス関数を用いて名簿の名前を引張ってきた場合、ふりがなが表示されません。 これは別のセルにフォネティック関数で表示させるようにするしか方法はないのでしょうか?

  • ふりがな表示

    ふりがな表示 VLOOKUPでリストから名前を表示させました。これにふりがなを表示させたいのですが方法はありますか? 同じセルでも、隣のセルにでもかまいません。 このままの状態でphoneticでは表示されませんでした。

  • PHONETIC関数でフリガナが表示されない

    本の付録のエクセルデータの名簿に フリガナ表示をさせてみたくなり エクセルPHONETIC関数を使ってみたのですが フリガナが表示されません。 表示されたのはフルガナではなく、元の漢字で表示されました。 PHONETIC関数は?と思い 求めたセルをクリックするとPHONETIC関数が入っていましたが・・ もしやと思い 欄外に新たに氏名を入力して PHONETIC関数を求めるとフリガナ(PHONETIC関数)が表示がされます。 一度作成したデータなどを開いて フリガナ表示はできないのでしょうか? まるでロックがかかったみたいな感覚なのですが。

  • エクセルのマクロを有効にしないと表示しないようにする方法

    エクセルでマクロを有効にしないと、シートが表示されないように設定したいのですが、下記の様に(ほかの方の投稿から)入力すると三行目がエラーになります。素人なので、よくわかりません。どのようにしたら、マクロを有効にしないと全てのシートを表示しないようにできるのでしょうか? ご教授いただけますでしょうか Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets(\"Sheet1\").Visible = False Sheets(\"Sheet2\").Visible = False ActiveWorkbook.Protect Password:=\"error123\" End Sub Private Sub Workbook_Open() ActiveWorkbook.Unprotect Password:=\"error123\" Sheets(\"Sheet1\").Visible = True Sheets(\"Sheet2\").Visible = True Sheets(\"Sheet1\").Select End Sub

  • 【Excel】 他のセルを参照しているせルのふりがなが出せません。

    こんにちは。 sheet1のA1にはsheet2のA1とA2の文字を繋ぐ為、 「Sheet2!A1&Sheet2!B1」という式が入っています。 sheet1 A2に そのA1のふりがなを取り出す為、 「PHONETIC(A1)」としましたが、空白になってしまいます。 他のセルを参照しているA1に表示されている文字列の ふりがなを取り出す方法を教えてください。 なお、「PHONETIC(Sheet2!A1:B1)」という形はできないとして下さい。 A1の文字列は、実際は大変複雑な組み合わせで表示されていることと、 その組合せの違うセルが数千行あるため、 A2にも同じように数千行の参照をしたPHONETIC関数を組むことは避けたいと思います。 Excel2003です。 よろしくお願いいたします。

  • 結合セルを含む列の非表示方法

    結合セルを含んだ範囲で、列の非表示の方法で困っています。 いまA1:D1が結合されています。 B:C列を非表示にしたいのですが、結合セルがある為にA:Dが全て非表示になってしまいます。 結合されたセルを無視して、B:C列だけを非表示にする方法はどの様にしたらいいのでしょうか。 宜しくお願い致します。 Sub test() Columns("B:C").Select With Selection.EntireColumn .Hidden = True End With End Sub

専門家に質問してみよう