Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mouseover Tooltip

Mouseover Tooltip
22.08.2019 11:49:48
Daniel
Hallo Ihr Lieben,
ich möchte beim Überfahren einer Zelle ein Tooltip mit den Inhalten von 3 anderen Zellen angezeigt bekommen.
Ich habe nun ein bisschen gegooglt und in verschiedenen Foren gestöbert, komme aber bislang auf keine abschließende Lösung.
Gefallen hat mir der Beitrag von "Beverly" aus dem ForumArchiv von 2015 "Bei Mousover Text aus Spalte N als Tooltip?"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 Then
With ActiveSheet.Shapes("Anzeige")
.DrawingObject.Formula = "=" & Cells(Target.Row, 14).Address
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
End With
Else
ActiveSheet.Shapes("Anzeige").Visible = False
End If
End Sub

1.
Wie kann ich jetzt zusätzlich zur Zelle "14" auch die Zellen "15" und "16" anzeigen lassen ( am besten untereinander)?
2.
Kann ich zusätzliche Text vorne an stellen ? Also "Name: Inhalt Zelle 14" ?
3.
Wie kann ich die Form meinen Bedürfnissen anpassen ? Also, wenn ich einen Pfeil nehmen möchte, der aber auf die ausdgewählte Zelle zeigen soll. Jetzt richtet sich die Form ja an der ausgewählten Zelle, oben, links aus ... oder ?
Danke schon mal für Eure Hilfe.
Viele Grüße
Daniel
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 13:40:11
EtoPHG
Hallo Daniel,
Zeichne einen Pfeil nach links irgendwo auf dein Tabellenblatt.
Der Pfeil sollte gross genug sein um mind. 3 Zeilen Text aus den Zellen 14+15+16 + die Zelladressen aufnehmen zu können.
Benenne den Pfeil im Namensfeld (Links oben unter dem Menü-Ribbon) um, indem du bei selektiertem Pfeil einfach Anzeige schreibst.
Schiess folgenden Code in das Tabellenblatt:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 Then
With Shapes("Anzeige")
.DrawingObject.Text = Target.Offset(, 10).Address(0, 0) & ":" & Target.Offset(, 10). _
Text & vbCrLf & _
Target.Offset(, 11).Address(0, 0) & ":" & Target.Offset(, 11). _
Text & vbCrLf & _
Target.Offset(, 12).Address(0, 0) & ":" & Target.Offset(, 12). _
Text
.Visible = True
.Top = Target.Top + Target.Height / 2 - .Height / 2
.Left = Target.Offset(0, 1).Left
End With
Else
Shapes("Anzeige").Visible = False
End If
End Sub

Bei Auswahl einer Zelle in Spalte D (4) wird der Pfeil mit dem Text angezeigt.
Gruess Hansueli
Anzeige
AW: Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 14:08:14
Daniel
Hallo Hansueli,
das ist genau das was ich wollte. Vielen Dank.
Ich verstehe den Code gerade noch nicht ganz, werde mir das aber wieder erarbeiten. Vorallem warum der Pfeil jetzt korrekt positioniert ist.
Aber das bekomme ich noch raus: Try and Fail
Danke Dir.
Viele Grüße
Daniel
Anzeige
AW: Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 14:17:41
Daniel
Hi
Excel platziert alle Grafikelemente über linke obere Ecke des Rechtecks, welches das Element vollständig umschließt. das ist der Punkt, den du mit .Top abfragst oder festlegst.
wenn du jetzt die Mitte des Pfeils auf die Mitte der Zelle setzen willst, ist ja nur ein Rechnerei mit den Top- Positionen und der Höhe der Elemente (.Height) um den Top-Wert für den Pfeil aus dem Top-Wert der Zelle zu berechnen.
wenn du dir das mal aufzeichnest , wird es eigentlich deutlich.
Gruß Daniel
Anzeige
AW: Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 14:14:37
Daniel
Ich nochmal,
gibt es für "target" auch einen Befehl, der überprüft, ob in der Zelle 4/Spalte D überhaupt ein Wert steht ? Damit würde ja kein leerer Pfeil aufpoppen, wenn eine leere Zelle ausgewählt wird.
Target.value ?
mfg
Daniel
AW: Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 14:29:28
Daniel
Hi
If Target(1).value "" Then
als zusätzliche Abfrage nach dem If Target.Column = 4
Gruß Daniel
Anzeige
AW: Zellenauswahl Anzeige statt Mouseover Tooltip
22.08.2019 14:35:44
Daniel
Hallo,
Prima.
Also kann man die Position des Elementes (Pfeil) über .Top dann anpassen. Cool.
Mit einer ähnlichen Formel für Taget.value hatte ich es bereits probiert, nur kam dann überall der Pfeil .. lach. Aber das kriege ich hin, mit Deiner/Eurer Hilfe.
Danke für die bisherige Hilfe. Ich bin dann mal rumexceln ...
VG Daniel
Anzeige
;
Anzeige

Infobox / Tutorial

Mouseover Tooltip in Excel erstellen


Schritt-für-Schritt-Anleitung

Um einen Mouseover Tooltip in Excel mithilfe von VBA zu erstellen, folge diesen Schritten:

  1. Zelle auswählen: Wähle die Zelle aus, für die du einen Tooltip erstellen möchtest (z.B. Zelle in Spalte D).

  2. Grafikelement einfügen: Zeichne einen Pfeil oder ein Textfeld in dein Excel-Blatt und benenne es im Namensfeld (Links oben) als Anzeige.

  3. VBA-Code einfügen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Wähle das entsprechende Arbeitsblatt aus und füge folgenden Code ein:
    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Column = 4 And Target.Value <> "" Then
           With Shapes("Anzeige")
               .DrawingObject.Text = Target.Offset(, 10).Address(0, 0) & ": " & Target.Offset(, 10).Text & vbCrLf & _
                                   Target.Offset(, 11).Address(0, 0) & ": " & Target.Offset(, 11).Text & vbCrLf & _
                                   Target.Offset(, 12).Address(0, 0) & ": " & Target.Offset(, 12).Text
               .Visible = True
               .Top = Target.Top + Target.Height / 2 - .Height / 2
               .Left = Target.Offset(0, 1).Left
           End With
       Else
           Shapes("Anzeige").Visible = False
       End If
    End Sub
  4. Code anpassen: Du kannst den Code anpassen, um mehr Zellen zu integrieren oder spezifische Texte einzufügen, indem du Target.Offset entsprechend änderst.


Häufige Fehler und Lösungen

  • Fehler: Tooltip wird nicht angezeigt: Stelle sicher, dass der Name des Grafikelements im Namensfeld korrekt ist und mit dem Code übereinstimmt.
  • Fehler: Tooltip zeigt leere Werte an: Überprüfe, ob die überprüfte Zelle tatsächlich Werte enthält. Füge eine Bedingung im Code hinzu, die sicherstellt, dass nur bei nicht-leeren Zellen der Tooltip angezeigt wird.
  • Fehler: Tooltip ist nicht an der richtigen Stelle: Achte darauf, dass du die Positionierung mit .Top und .Left entsprechend der gewünschten Position anpasst.

Alternative Methoden

Neben VBA kannst du auch folgende Methoden verwenden, um Tooltip-ähnliche Informationen in Excel anzuzeigen:

  1. Datenüberprüfung: Verwende die Funktion "Datenüberprüfung" in Excel, um Kommentare oder Erklärungen anzuzeigen, wenn du mit der Maus über eine Zelle fährst.
  2. Kommentare: Füge Kommentare zu Zellen hinzu, die beim Überfahren angezeigt werden.
  3. Hyperlinks: Verlinke Zellen und füge eine Beschreibung hinzu, die beim Hover angezeigt wird.

Praktische Beispiele

  1. Tooltip für mehrere Zellen: Wenn du Tooltip-Informationen für Zellen in den Spalten N, O und P anzeigen möchtest, erweitere den VBA-Code entsprechend:

    .DrawingObject.Text = Target.Offset(, 10).Address(0, 0) & ": " & Target.Offset(, 10).Text & vbCrLf & _
                         Target.Offset(, 11).Address(0, 0) & ": " & Target.Offset(, 11).Text & vbCrLf & _
                         Target.Offset(, 12).Address(0, 0) & ": " & Target.Offset(, 12).Text & vbCrLf & _
                         Target.Offset(, 13).Address(0, 0) & ": " & Target.Offset(, 13).Text
  2. Anpassung des Pfeils: Wenn du den Pfeil so anpassen möchtest, dass er auf die ausgewählte Zelle zeigt, kannst du die .Top und .Left Werte entsprechend berechnen.


Tipps für Profis

  • Cursor-Effekte: Nutze die Funktion Application.Cursor im VBA, um den Cursor beim Hover über die Zelle zu ändern.
  • Styling: Experimentiere mit den Eigenschaften der Shapes (z.B. Farbe, Größe), um die Tooltips ansprechender zu gestalten.
  • Komplexe Logik: Verwende komplexere Bedingungen, um spezifische Tooltips in Abhängigkeit von verschiedenen Kriterien anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich den Tooltip für einen Button erstellen?
Du kannst einen Button in Excel erstellen und den MouseOver-Effekt mit dem gleichen VBA-Code anwenden. Ändere einfach die Zielzelle.

2. Ist es möglich, HTML für Tooltips zu verwenden?
Excel unterstützt keine HTML-Tooltips direkt, aber du kannst Textformatierungen in VBA verwenden, um den Tooltip ansprechender zu gestalten.

3. Wie kann ich den Tooltip für andere Excel-Versionen nutzen?
Die beschriebenen Methoden und der VBA-Code funktionieren in den meisten modernen Excel-Versionen (z.B. Excel 2013, 2016, 2019 und Microsoft 365).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige