Eddie hat einem Arbeitsblatt ein kleines Grafikbild hinzugefügt und ein Makro mit dem Bild verknüpft. Wenn Sie auf das Bild klicken, wird das Makro ausgeführt. Eddie fragt sich, ob es möglich ist, dem Bild eine Beschriftung oder einen Kommentar hinzuzufügen, sodass, wenn ein Benutzer den Mauszeiger über das Bild bewegt, die Beschriftung / der Kommentar angezeigt wird und dem Benutzer mitteilt, was das Makro tut.

Sie könnten zunächst denken, Sie könnten dem Bild eine QuickInfo hinzufügen, dies ist jedoch nur möglich, wenn Sie ihm einen Hyperlink zuweisen. Das Hinzufügen des Hyperlinks (und der QuickInfo) ist einfach genug, aber Sie werden feststellen, dass der Hyperlink Vorrang vor dem Makro hat und dessen Ausführung verhindert.

Dies bedeutet, dass Sie nach anderen Möglichkeiten suchen müssen, um das Problem anzugehen.

Leider gibt es keine einfache Möglichkeit, diese Art von QuickInfo zu erstellen, aber es gibt verschiedene Möglichkeiten, wie Sie sich der Aufgabe nähern können. Sie können dem Arbeitsblatt eine Befehlsschaltfläche hinzufügen und das Bild dann der Schaltfläche zuweisen. Das gesamte Bild dient dann als Schaltfläche. Wenn Sie auf die Schaltfläche klicken, wird der Ereignishandler CommandButton1_Click ausgeführt (vorausgesetzt, Sie verwenden den Standardnamen für die Befehlsschaltfläche).

Als Nächstes müssen Sie ein Textfeld erstellen, das ungefähr dem Aussehen einer QuickInfo entspricht. Tatsächlich bietet Ihnen das Textfeld mehr Spielraum als mit einer normalen QuickInfo, da es beliebig formatiert werden kann und jeden gewünschten erklärenden Text enthalten kann. Sie müssen lediglich sicherstellen, dass dem Textfeld ein eindeutiger Name zugewiesen wird, z. B. „MyShape“. (Sie weisen dem Textfeld einen Namen zu, indem Sie ihn auswählen und dann den Namen im Feld Name in der oberen linken Ecke des Arbeitsblattbereichs ändern.)

Klicken Sie mit der Befehlsschaltfläche und dem Textfeld mit der rechten Maustaste auf die Befehlsschaltfläche und wählen Sie das Codefenster für die Befehlsschaltfläche aus. Fügen Sie dann den folgenden Code zum Codefenster hinzu:

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

Es ist der Click-Ereignishandler, den Sie ändern müssen, um Ihren normalen Makrocode aufzurufen. Der MouseMove-Code wird ausgeführt, wenn die Maus über die Befehlsschaltfläche bewegt wird. In diesem Fall zeigt der Code das von Ihnen erstellte Textfeld an.

Fügen Sie als Nächstes die folgenden Makros in ein Standardmakromodul ein. Diese beiden Makros zeigen und verbergen die von Ihnen erstellte Textfeldform. Beachten Sie, dass das erste Makro die OnTime-Methode verwendet, um die Form zwei Sekunden nach ihrer ersten Anzeige automatisch auszublenden.

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

Bewegen Sie bei allen vorhandenen Makros einfach den Mauszeiger über das Befehlsschaltflächenbild. Das Textfeld sollte zwei Sekunden später verschwinden und erst wieder angezeigt werden, wenn Sie die Maus erneut über das Bild bewegen.

Ein anderer Ansatz besteht darin, das Bild in ein Diagrammobjekt einzubetten, das Bild mit dem Text zu benennen, der in der QuickInfo angezeigt werden soll, und dann das Makro dem Diagrammobjekt zuzuweisen. Dies mag etwas verwirrend klingen, ist jedoch relativ einfach, indem Sie die folgenden allgemeinen Schritte ausführen:

  1. Erstellen Sie ein leeres Diagrammobjekt. Sie können dies tun, indem Sie einfach eine leere Zelle auswählen, ein Diagramm einfügen und sofort auf die Schaltfläche Fertig stellen klicken. Das Diagramm enthält nichts, weshalb es sich um ein „leeres Diagrammobjekt“ handelt.

  2. Fügen Sie als Nächstes das Bild zum Diagrammobjekt hinzu. Kopieren Sie einfach das Bild in die Zwischenablage, wählen Sie das leere Diagrammobjekt aus (Sie haben es in Schritt 1 erstellt) und fügen Sie den Inhalt der Zwischenablage ein.

  3. Passen Sie die Größe sowohl des Diagrammobjekts als auch des Bilds innerhalb des Diagrammobjekts so an, dass sie Ihren Anforderungen entsprechen.

  4. Wählen Sie das Bild im Diagrammobjekt aus und geben Sie dem Bild einen Namen, indem Sie die Angaben im Feld Name in der oberen linken Ecke des Arbeitsblattbereichs ändern. Dieser Name sollte der Text sein, den Sie als QuickInfo anzeigen möchten.

  5. Weisen Sie nun Ihr Makro dem Diagrammobjekt zu (nicht dem Bild innerhalb des Diagrammobjekts), indem Sie mit der rechten Maustaste auf das Diagrammobjekt klicken und Makro zuweisen wählen.

Das ist es. Wenn Sie nun den Mauszeiger über das Bild bewegen, wird der Name des Bildes als QuickInfo angezeigt. Wenn Sie auf klicken, wird das dem Diagrammobjekt zugewiesene Makro ausgeführt.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (724) gilt für Microsoft Excel 2007, 2010 und 2013. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: