- ベストアンサー
エクセルでルビ付きのセルを参照する方法
- エクセルのルビがついたセルを参照してルビ付きで表示する方法について教えてください。
- エクセルのバージョンは2007で、200以上のセルにルビがついており、順序が変わることもあります。
- PHONETIC関数を使った上下二つのセルの方法も試しましたが、うまくいきませんでした。一つのセルでルビ付きのセルを参照する方法はありますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> シート1の A1 と同じように一つのセルで表示する方法が無いものでしょうか? 基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。 どうしても元データと同じように表示したいなら図のリンク貼り付けの機能を利用することになります。 参照元のデータを選択して「コピー」し、貼り付け先のセルを選択して、ホームタブの「貼り付け」の下の▼をクリックして「図のリンク貼り付け」を選択します。 数式で表示されているのではなく、ふりがな情報のない文字列のふりがなを一括して付加させたいなら(数式セルを普通の文字列に変換するには、数式セルを選択して、右クリック「コピー」し、そのままもう一度右クリック「形式を選択して貼り付けで「値」を選択する)、ふりがなのないセル範囲を選択してから、Alt+F11でVBEを起動しCtrl+Gでイミディエイトウィンドウを表示して、ここに以下のコードを入力してEnterしてみてください。 selection.setphonetic ただし、上記の方法で自動的に作成したふりがなは必ずしも正しい読みと位置するとは限らないので(ワタナベとワタベなど)、最終的にはチェックする必要があります。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート1のA列にある氏名を例えばシート2のA1セルに式を使って=Sheet1!A1のようにしている場合にはふりがなを付けることはマクロを使っても無理のようです。 そこで苦肉の策ですがコメントの挿入の機能を利用してマクロを使って表示させることではどうでしょう。 例えばシート1のA列に氏名が有って、シート2のA列で同じ氏名の人についてはふりがなの表示を設定して表示させる方法です。 「開発」タブの「マクロ」でマクロ名に「ふりがな表示」とでも入力し「編集」ボタンをクリックします。 表示の画面で次のコードを入力します。 Sub ふりがな表示() Dim n, m, s, i, p As Long Dim A As String Set WS1 = Worksheets("Sheet1") Set WS2 = ActiveSheet n = ActiveCell.Row m = ActiveCell.Column s = Range(ActiveCell.Address).CurrentRegion.Rows.Count With WS1.Range("A:A") For i = n To s A = WS2.Cells(i, m) Set x = .Find(A, LookIn:=xlValues) If Not x Is Nothing Then p = Range(x.Address).Row furigana = Application.GetPhonetic(WS1.Cells(p, 1)) WS2.Cells(i, m).ClearComments WS2.Cells(i, m).AddComment (furigana) End If Next End With End Sub マクロの操作は選んだシートの該当列を選択してから「マクロ」の「実行」をクリックして行います。 シート1のA列にある氏名については該当するセルのコメントにはふりがなが入力されますので「校閲」タブで「すべてのコメントの表示」をクリックすれば該当するセルにはコメントの窓にふりがなが表示されます。
お礼
今回は一つずつ手作業でやっちゃうことにしました。 マクロの良いところもたくさんあると思うので、 教えていただいたマクロも参考にしながら 精進したいと思います。
補足
マクロも考えたのですが、 マクロだと実行しなければ反映されないので 何か便利な式がないものかと思っていたところです。 コメントの機能は自分の発想の中にはなかったので、 後でゆっくりと吟味してみたいと思います。
- bin-chan
- ベストアンサー率33% (1403/4213)
式[=phonetic(シート1!A1)]を設定したらどうなります?
お礼
今回は一つずつ手作業でやっちゃうことにしました。 次回に向けて、phoneticの式も使いながら うまいことできる方法を検討してみます。 回答ありがとうございました。
補足
回答ありがとうございます。 しかし、欲しいのはふりがなだけの表示ではなく ルビがふられた状態の漢字をそのまま表示したいということなのです。 やっぱり、難しいですかねえ。
お礼
今回は一つずつ手作業でやっちゃうことにしました。 関数で表示した値は書式情報を付加することはできないということがわかったことで、 別の方法を考えるしかないという覚悟ができましたので 今回ベストアンサーとさせていただきました。
補足
> 基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。 やはりそうですか... シート1は、正しいルビに修正済みなので そこをコピーして貼付けていく地道な作戦でいこうかと思い始めています。