エディは小さなグラフィック画像をワークシートに追加し、マクロを画像に結び付けました。画像をクリックするとマクロが実行されます。 Eddieは、ユーザーが画像の上にマウスポインターを置くと、ラベル/コメントが表示され、マクロの機能をユーザーに通知するように、画像にラベルまたはコメントを追加できるかどうか疑問に思います。

最初はScreenTipを画像に追加できると思うかもしれませんが、それはハイパーリンクを画像に割り当てた場合にのみ実行できます。ハイパーリンク(およびScreenTip)の追加は簡単ですが、ハイパーリンクがマクロよりも優先され、実行が停止されることがわかります。

これは、問題に取り組むための他の方法を探す必要があることを意味します。

残念ながら、このタイプのScreenTipを作成する簡単な方法はありませんが、タスクに取り組む方法はいくつかあります。ワークシートにコマンドボタンを追加してから、画像をボタンに割り当てることができます。画像全体がボタンとして機能します。ボタンをクリックすると、CommandButton1_Clickイベントハンドラーが実行されます(コマンドボタンのデフォルト名を使用していると仮定します)。

次に、ScreenTipがどのように見えるかを近似するテキストボックスを作成する必要があります。実際、テキストボックスは、通常のScreenTipよりも自由度が高くなります。これは、テキストボックスを任意の方法でフォーマットでき、任意の説明テキストを含めることができるためです。テキストボックスに「MyShape」などの一意の名前が付けられていることを確認するだけです。 (テキストボックスを選択し、ワークシート領域の左上隅にある[名前]ボックスで名前を変更することにより、テキストボックスに名前を割り当てます。)

コマンドボタンとテキストボックスを配置した状態で、コマンドボタンを右クリックし、コマンドボタンのコードウィンドウを表示することを選択します。次に、次のコードをコードウィンドウに追加します。

Private Sub CommandButton1_Click()

'Call your regular macro here     Hide_Shape End Sub
Private Sub CommandButton1_MouseMove( _     ByVal Button As Integer, ByVal Shift As Integer, _     ByVal X As Single, ByVal Y As Single)

Display_and_Hide_Shape End Sub

通常のマクロコードを呼び出すために変更する必要があるのは、Clickイベントハンドラーです。 MouseMoveコードは、マウスがコマンドボタン上に移動したときに実行されます。この場合、コードは作成したテキストボックスを表示します。

次に、以下のマクロを標準マクロモジュールに挿入します。これらの2つのマクロは、作成したテキストボックスの形状を表示および非表示にします。最初のマクロはOnTimeメソッドを使用して、最初に表示されてから2秒後に図形を自動的に非表示にすることに注意してください。

Sub Display_and_Hide_Shape()

ActiveSheet.Shapes("MyShape").Visible = True '   adjust time     Application.OnTime Now + TimeValue("00:00:02"), "Hide_Shape"

End Sub
Sub Hide_Shape()

ActiveSheet.Shapes("MyShape").Visible = False End Sub

すべてのマクロが配置されたら、コマンドボタンの画像の上にマウスポインタを移動するだけです。テキストボックスは2秒後に消えますが、画像の上にもう一度マウスを移動すると再び表示されます。

もう1つの方法は、画像をグラフオブジェクトに埋め込み、ScreenTipに表示するテキストを使用して画像に名前を付けてから、マクロをグラフオブジェクトに割り当てることです。これは少し紛らわしいように聞こえるかもしれませんが、次の一般的な手順に従うことで比較的簡単に実行できます。

。空白のチャートオブジェクトを作成します。これを行うには、空白のセルを選択し、グラフの挿入を選択して、すぐに[完了]ボタンをクリックします。チャートには何も含まれないため、「空白のチャートオブジェクト」になります。

。次に、画像をグラフオブジェクトに追加します。画像をクリップボードにコピーしてから、空白のグラフオブジェクト(手順1で作成したもの)を選択し、クリップボードの内容を貼り付けるだけです。

。チャートオブジェクトとチャートオブジェクト内の画像の両方のサイズを調整して、ニーズを表すようにします。

。グラフオブジェクト内の画像を選択し、ワークシート領域の左上隅にある[名前]ボックスにあるものを変更して、画像に名前を付けます。この名前は、ScreenTipとして表示するテキストである必要があります。

。次に、チャートオブジェクトを右クリックし、[マクロの割り当て]を選択して、マクロをチャートオブジェクト(チャートオブジェクト内の画像ではない)に割り当てます。

それでおしまい。これで、マウスポインタを画像の上に移動すると、画像の名前がScreenTipとして表示され、クリックすると、グラフオブジェクトに割り当てられたマクロが実行されます。

注:

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

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

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