dポイントプレゼントキャンペーン実施中!

タイトルの通りなのですが、具体的に書きます。
エクセルに詳しい方、よろしくお願いします。

Sheet1のC6のセル(漢字の名前)を
Sheet2のD12のセルでコピー(=Sheet1!C6)させたのですが、
このセル(Sheet2のD12)にふりがなを表示させたいです。

私はマクロには疎いのですが、ネットで検索したところ、

Sub ふりがな設定()
Selection.SetPhonetic
Selection.Phonetics.Visible = True
End Sub

を登録して実行すれば良いと書いてあったので試したのですが
実行しても、ふりがなが表示されません。

別の方法でも構いませんので、何か良い方法があれば
教えていただきたく、よろしくお願いします。

A 回答 (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
    • good
    • 1
この回答へのお礼

結合セルと単一のセルではコマンドが異なるのですね。
とても勉強になりました。

おかげさまで解決しました!

ご丁寧に最後までお付き合いいただき、本当に
ありがとうございましたm(__)m

お礼日時:2008/02/07 09:34

#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

この回答への補足

再度のご回答ありがとうございます。

セルは、複数のセルを結合して1つのセルとして認識させて
いるので問題ないかと思っているのですが・・・

当方WinXP+Office2007です。

早速いただいたマクロをコピペして実行してみたのですが、
以下のメッセージが出てきてしました。

実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。

やはり私の力不足でしょうか(涙)

補足日時:2008/02/06 18:10
    • good
    • 0

参照したセルに対して、ふりがなの設定はできないみたいですね。


知りませんでした。

参照設定先であるSheet2のD12のセルに対して、
ふりがなの設定をするのはちょっとよくわからなかったので、
例えば、Sheet2のD13とかにふりがなをふるのでもよければ、
D13に、「=PHONETIC(Sheet1!C6)」と設定してはどうでしょうか?
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

bluepenguinさんの方法、早速試させていただきました。
別のセルで良ければ、ふりがな表示できることが分かりました。

他の方の回答をお待ちして、「同じセルに漢字&ふりがなを
表示させる方法」がなければ、こちらの方法で代用させて
いただきたいと思います。

アドバイス、ありがとうございました。

お礼日時:2008/02/06 17:10

C6セルに適当な漢字を「手入力」して、「書式」→「ふりがな」→「表示/非表示」を選択するとC6せるにフリガナが表示されます。

(質問文のマクロは上記操作に相当するものです。別にマクロなんて必要ありません)

また隣のセルに
=PHONETIC(C6)
と入力すればフリガナが表示されます。

でも別のアプリケーションからCOPYしたテキストをC6に貼り付けると、フリガナは表示されず、隣のセルには貼り付けたテキストがそのまま表示されるはずです。

質問の状態はフリガナが設定されていない状態になっているからだと思います。これに無理矢理フリガナを設定する方法があります。以下のマクロを「フリガナ」を設定したいセル範囲を選択した状態で実行してください。

Sub Macro2()
 Selection.Phonetic.Text = Application.GetPhonetic(Selection.Value)
End Sub

ただしこのマクロではフリガナが実際の読み方と異なる場合があります。その場合は「書式」→「ふりがな」→「編集」で修正する必要があります。

この回答への補足

おっしゃる通りで、COPYしたC6のセルはひらがなの表示設定をクリックしても表示されません。

教えていただいたマクロ、試したのですが、以下のメッセージが
出て、実行できませんでした。

実行時エラー'1004';
'GetPhonetic'メソッドは失敗しました;'_Application'オブジェクト

なにぶんマクロ初心者なもので、私のマクロ入力や実行の操作が
間違っているのかもしれません。以下、私が行った方法です。

Visual Basic→挿入「標準モジュール」で教えていただいた
マクロを入力。
エクセル画面に戻りC6のセルを選択した状態で、マクロ→Macro2
→実行

間違いなどありましたらお手数ですがご指摘いただけると
幸いです。

補足日時:2008/02/06 15:54
    • good
    • 0

こんにちは。


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

頑張って下さい。

この回答への補足

ご回答ありがとうございます。
私の説明が下手で申し訳ありません。

今回のシートは1回使用して終わるのではなく、
Sheet1のC6セルにその都度別の名前をいれることを想定している
ので、Sheet2のD12のセルにリンク(D12に=Sheet1!C6と入力)させて
います。

amai_cocoa様の方法でもうまくいきましたが、
その都度「Ctrl+Cでコピーして、それをSheet2のD12のセルにCtrl+Vで貼り付ける」作業が大変なのです。

リンクさせたセルに、ふりがなの表示をクリックしても
ふりがな表示されずに困っております。
何か良いお知恵がありましたら教えてください。

今、上記の方の方法を試しているところです。

補足日時:2008/02/06 15:37
    • good
    • 2

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