Excelでは、インターネット上のリソースまたは他のワークシートのセルへのハイパーリンクを作成できます。残念ながら、Excelでは、ブックにグラフシートを表示するハイパーリンクを作成できません。ワークシートにグラフオブジェクトが含まれている場合(グラフはワークシート内のオブジェクトとして作成されています)、グラフオブジェクトが配置されているワークシートを表示するハイパーリンクを作成できます。ただし、実際のグラフシートをハイパーリンクのターゲットとして使用することはできません。

この問題を回避する方法は、目的のチャートシートを実際に表示するマクロを作成することです。次に、マクロをクイックアクセスツールバーに割り当てることができます。次のようなマクロを使用します:

Sub GotoChart1()

Sheets("Chart1").Select End Sub

これは、特定のチャートシートを表示するマクロの非常に単純化されたバージョンです。この場合、チャートシートの名前はChart1です。必要に応じて名前を変更できます。ブック内の宛先チャートシートごとに、このようなマクロを作成できます。

別の方法は、マクロを拡張して、選択するグラフシートの名前を示すパラメーターを受け入れるようにすることです。たとえば、次のマクロについて考えてみます。

Sub GotoChart2()

Sheets(ActiveSheet.Shapes(Application.Caller) _       .TopLeftCell.Value).Select End Sub

このマクロを配置したら、ワークシートに戻り、ハイパーリンクを配置するセルを選択します。グラフシートの名前を入力し、ハイパーリンクのようにフォーマットします。 (青色、下線付きのテキスト、または必要に応じてフォーマットされています。ハイパーリンクをシミュレートしています。実際のハイパーリンクは作成していません。)

リボンの linkDeveloper tabのレガシーフォームコントロールを使用して、同じセル内にラベルオブジェクトを作成し、ラベルが表示されないようにフォーマットします。これを行うには、オブジェクトのプロパティを変更して、行やテキストなどがないようにします。次に、ラベルオブジェクトを右クリックし、[マクロの割り当て]を使用して、GotoChart2マクロをオブジェクトに割り当てます。

これで、誰かが「ハイパーリンク」をクリックしようとすると、実際には非表示のラベルオブジェクトをクリックしていて、マクロが実行されています。

マクロは、それを呼び出したオブジェクトの名前(Application.caller)を判別し、オブジェクトの左上隅がどのセルにあるかを把握し、そのセルの値を取得します。この値は、目的のチャートシートの宛先名として使用されます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(1121)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。