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

この問題を回避する方法は、目的のチャートシートを実際に表示するマクロを作成することです。次に、マクロをボタン、メニュー項目、ツールバーボタン、または同様のオブジェクトに割り当てることができます。次のようなマクロを使用します:

Sub GotoChart1()

Sheets("Chart1").Select End Sub

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

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

Sub GotoChart2()

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

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

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

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

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

注:

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

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

このヒント(2539)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。