• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで、ハイパーリンクのリンク先をグラフシートに指定したい)

エクセルでハイパーリンクのリンク先をグラフシートに指定する方法

このQ&Aのポイント
  • WindowsXP(home)上でexcel2002を使用しております。ハイパーリンクで別ブックのグラフシートを参照させたいのですが、やり方が分かりません。
  • 普通のワークシート上のセルをリンク先に指定することはできるのですが、グラフシートにはできなくて困っています。
  • リンク先に直接グラフシートを指定するか、グラフシート上にダミーのオブジェクトを作成してリンク先に指定することで、グラフを表示させることができます。

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

  • ベストアンサー
回答No.1

こんにちわ。 無理やりの方法ですが・・・・ ^^; グラフシートが1枚だけの場合でしたら、通常シートを非表示にしておき、通常の シートのセルにリンクを張る方法があります。 グラフが2枚以上の場合はマクロで処理するほかないのかも知れません。 一応次のようにします。 <グラフシートのあるブック>  1)通常シートのどこでもよいですので、グラフシート名のリストを作ります。   ここではグラフシートが3枚あって、Sheet1のA1:A3に入力したと仮定します。  2)Sheet1のA1:A3を選択して、Area という名前をつけます。   ※Sheet1以外のシート(例:Sheet2)にも別なグラフシートリストを作る場合は    Sheet1のリスト範囲の名前は Sheet1!Area にして、Sheet2のリスト範囲は    Sheet2!Area という名前にします。  3)[Alt]+[F11]で Visual Basic Editor を開き、画面左側のツリーの中にある   ThisWorkbook をダブルクリックして、右画面に下記をコピーします。   '   Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)    Dim RNG As Range    For Each RNG In Range("Area")     If Target.Address = RNG.Address Then      Sheets(Target.Value).Select     End If    Next   End Sub ハイパーリンクを張るブックでは、前記(1)のリスト内のセルにジャンプするように設定します。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

#1です。 一部追加させてください。 If Target.Address = RNG.Address Then  の行の次に、 Range("G1").Select  という行を追加してください。  上の"G1"は仮のアドレスです。グラフシート名リストの範囲以外の実際のセルに  書き換えてください。 Workbook_SheetSelectionChange のマクロは、選択セルが変更されたときに実行 されますので、ここでポインタを別セルに移動しておかないとセルが選択された ままですので、続けて同じハイパーリンクをクリックしたときにジャンプしてくれ ません。

imapon
質問者

お礼

misatoanna様 うまく出来ました!ありがとうございます。 大変助かりました。 マクロでこんなことができるなんて、正直感動いたしました。 これで仕事の効率があがります。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A