プロが教える店舗&オフィスのセキュリティ対策術

例えばシート1の”A1”のセルに
鈴木 と打ち込んでルビ付きで表示すると
鈴木 の上に すずき とルビが表示されます。
シート2でこの内容をそのまま表示したいと思い
=シート1!A1
と入力したとき、そこにはただ 鈴木 としか出ません。
この式を入力したセルのルビを表示するように指定しても
ルビが表示されることはありません。
式でシート1のA1を参照して、同時にルビも表示できるようにするには
何か方法があるでしょうか。

ちなみに、実際に表示したいセルは200くらいあり
それを表示したいシートも数枚あり、
条件設定で順序が変わったりするので
一つ一つコピーするというのは事実上無理があります。
また、上下二つのセルを使い、
上の段に =PHONETIC を使ってふりがな
下の段に漢字ということも考えたのですが
別の不具合が出てしまい断念しました。
シート1の A1 と同じように一つのセルで表示する方法が無いものでしょうか?

ちなみにエクセルのバージョンは2007です。

よろしくお願いします。

A 回答 (3件)

式[=phonetic(シート1!A1)]を設定したらどうなります?

この回答への補足

回答ありがとうございます。
しかし、欲しいのはふりがなだけの表示ではなく
ルビがふられた状態の漢字をそのまま表示したいということなのです。
やっぱり、難しいですかねえ。

補足日時:2013/04/02 22:04
    • good
    • 0
この回答へのお礼

今回は一つずつ手作業でやっちゃうことにしました。
次回に向けて、phoneticの式も使いながら
うまいことできる方法を検討してみます。
回答ありがとうございました。

お礼日時:2013/04/07 13:12

> シート1の A1 と同じように一つのセルで表示する方法が無いものでしょうか?



基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。

どうしても元データと同じように表示したいなら図のリンク貼り付けの機能を利用することになります。

参照元のデータを選択して「コピー」し、貼り付け先のセルを選択して、ホームタブの「貼り付け」の下の▼をクリックして「図のリンク貼り付け」を選択します。

数式で表示されているのではなく、ふりがな情報のない文字列のふりがなを一括して付加させたいなら(数式セルを普通の文字列に変換するには、数式セルを選択して、右クリック「コピー」し、そのままもう一度右クリック「形式を選択して貼り付けで「値」を選択する)、ふりがなのないセル範囲を選択してから、Alt+F11でVBEを起動しCtrl+Gでイミディエイトウィンドウを表示して、ここに以下のコードを入力してEnterしてみてください。

selection.setphonetic

ただし、上記の方法で自動的に作成したふりがなは必ずしも正しい読みと位置するとは限らないので(ワタナベとワタベなど)、最終的にはチェックする必要があります。

この回答への補足

> 基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。

やはりそうですか...
シート1は、正しいルビに修正済みなので
そこをコピーして貼付けていく地道な作戦でいこうかと思い始めています。

補足日時:2013/04/02 23:05
    • good
    • 0
この回答へのお礼

今回は一つずつ手作業でやっちゃうことにしました。

関数で表示した値は書式情報を付加することはできないということがわかったことで、
別の方法を考えるしかないという覚悟ができましたので
今回ベストアンサーとさせていただきました。

お礼日時:2013/04/07 13:15

シート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列にある氏名については該当するセルのコメントにはふりがなが入力されますので「校閲」タブで「すべてのコメントの表示」をクリックすれば該当するセルにはコメントの窓にふりがなが表示されます。

この回答への補足

マクロも考えたのですが、
マクロだと実行しなければ反映されないので
何か便利な式がないものかと思っていたところです。
コメントの機能は自分の発想の中にはなかったので、
後でゆっくりと吟味してみたいと思います。

補足日時:2013/04/07 13:08
    • good
    • 1
この回答へのお礼

今回は一つずつ手作業でやっちゃうことにしました。

マクロの良いところもたくさんあると思うので、
教えていただいたマクロも参考にしながら
精進したいと思います。

お礼日時:2013/04/07 13:18

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

このQ&Aを見た人はこんなQ&Aも見ています