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

Individueller Text bei MouseOver

Forumthread: Individueller Text bei MouseOver

Individueller Text bei MouseOver
22.07.2022 10:27:04
Seb
Hallo,
ich würde gerne einen individuellen Text einblenden, sobald man mit der Maus über eine bestimmte Zelle geht.
Dieser Text muss sich aber automatisch immer ändern.
Beigefügt mal eine Beispiel-Datei:
Tabelle1 ist mit Art. Nr. und Kurztexten versehen, in Tabelle2 stehen zu den jeweiligen Art. Nr. die Langtexte.
Ich möchte jetzt per MouseOver den jeweiligen Langtext zur passenden Art. Nr. einblenden.
Wie geht das?
Leider bin ich nicht so ein VBA Profi...
Danke euch.
https://www.herber.de/bbs/user/154302.xlsx
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Individueller Text bei MouseOver
22.07.2022 10:43:39
{Boris}
Hi,
Zellen haben kein MouseOver-Ereignis. Möglicherweise kann man da mit schwerem API-Geschütz was machen, aber ob das wirklich angezeigt ist...?!
VG, Boris
AW: Individueller Text bei MouseOver
22.07.2022 10:48:10
Seb
Naja, ich habe diese Datei hier schon im Forum gefunden. Die kommt dem, was ich suche, schon recht nahe...
Allerdings wird da immer nur ein vorher definierter Text eingeblendet und nicht einer per sverweis o.ä. gezogen:
https://www.herber.de/bbs/user/154303.xls
Anzeige
Quickinfo
22.07.2022 10:51:18
{Boris}
Hi,
die Quickinfo ist ein statischer Text - und damit wohl wenig brauchbar.
VG, Boris
AW: Individueller Text bei MouseOver
22.07.2022 11:01:21
volti
Hallo Boris,
in der Beispieldatei wird ja mit Hyperlinks gearbeitet, was ja ggf. reicht....
Schweres "API-Geschütz" wird z.B. hier im Forum in den beiden Threads mit dem Thema "Mausgesten von Dieter" behandelt, wo ein Hightligthniing von Zellen stattfindet.
https://www.herber.de/forum/messages/1892241.html
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1891430#1891430
Gruß Karl-Heinz
Anzeige
AW: Individueller Text bei MouseOver
22.07.2022 10:51:09
Oberschlumpf
Hi,
ich würde vorschlagen...
a) in Tabelle1, Spalte B nicht MouseOver zu nutzen (gibbs ja eh nich^^), sondern mit ausgeblendeten Kommentaren zu arbeiten
b) jedes mal, wenn Tabelle1 angezeigt/ausgewählt wird (Blattwechsel zu Tabelle1) die jeweiligen Kommentare in Spalte B zu aktualisieren, damit, z Bsp bei Langtextänderung in Tabelle2 dieser neue Langtext eben auch in Tabelle1 als Kommentar gezeigt wird
c) und natürlich auch Update für Kommentare in Tabelle1, wenn in Spalte A ne andere Artnr eingegeben wird
(Voraussetzung: in Tabelle2 muss natürlich für jede ArtNr ein Langtext enthalten sein! - weil: no langtext = no comment)
d) ich warte erst mal auf dein Feedback, bevor ich versuche, meine Ideen in VBA-Sprache umzusetzen - denn vielleicht gefällt dir das ja so gar nicht - und für den Mülleimer arbeiten will ich auch nich^^
Ciao
Thorsten
Anzeige
AW: Individueller Text bei MouseOver
22.07.2022 10:56:13
Seb
...das klingt vielversprechend :)
AW: Individueller Text bei MouseOver
22.07.2022 11:23:52
Daniel
Hi
folgender Code liest die Werte aus Tabelle2 aus und schreibt sie als Kommentar/Quickinfo in die Tabelle1

Dim Zelle As Range
Dim KomStart As Range
Dim KomEnde As Range
Dim KomZelle As Range
Dim txt As String
For Each Zelle In Sheets("Tabelle1").Range(Sheets("Tabelle1").Cells(2, 1), Sheets("Tabelle1").Cells(1, 1).End(xlDown))
Set KomStart = Sheets("Tabelle2").Columns(1).Find(what:=Zelle.Value, lookat:=xlWhole)
If KomStart Is Nothing Then
On Error Resume Next
Zelle.Comment.Delete
On Error GoTo 0
Else
If KomStart.Offset(1, 0) = "" Then
Set KomEnde = KomStart.End(xlDown)
If KomEnde.Row = Rows.Count Then
Set KomEnde = KomStart.Offset(0, 1).End(xlDown)
Else
Set KomEnde = KomEnde.Offset(-1, 1)
End If
End If
For Each KomZelle In Range(KomStart.Offset(0, 1), KomEnde)
txt = txt & vbLf & KomZelle.Value
Next
On Error Resume Next
Zelle.Comment.Delete
On Error GoTo 0
Zelle.AddComment
Zelle.Comment.Text Text:=Mid(txt, 2)
txt = ""
End If
Next
ich würde ihn ins Deactivate-Event der Tabelle2 oder ins Activate-Event der Tabelle1 einfügen, damit Änderungen auf dem Blatt2 automatisch übernommen werdne
Gruß Daniel
Anzeige
AW: Individueller Text bei MouseOver
22.07.2022 11:30:22
Seb
...ok, erst einmal danke.
Aber so richtig läuft das noch nicht. Bekomme einen Laufzeitfehler, wenn ich von Tabelle2 in Tabelle1 wechsel und Kommentare werden mir auch nicht angezeigt, wenn ich über die Art. Nr. in Tabelle gehe.
Danke.
AW: Individueller Text bei MouseOver
22.07.2022 11:33:46
Daniel
Hi
naja, zeig mal deinen Code oder lade die Datei mit dem Fehler hoch.
hilfreich wäre auch die information, welchen Laufzeitfehler du bekommst und in welcher Zeile er auftritt
Gruß Daniel
Anzeige
AW: Individueller Text bei MouseOver
22.07.2022 11:39:30
Seb
Ich glaube, du setzt bei mir zu viele VBA Kenntnisse voraus.
Ich habe überhaupt nichts an Code bisher, ich habe lediglich deine Zeilen in meine Anfangsdatei eingefügt :)
AW: Individueller Text bei MouseOver
22.07.2022 11:58:38
Daniel
naja, als erstes habe ich dir den Code ohne Kopf- und Endzeile gezeigt, du müsstest die also noch selbst ergänzen und das müsstest du mir zeigen.
ich müsste auch wissen, ob du die Option Deactivate-Event von Tabelle2 oder Activate-Event von Tabelle1 verwendet hast.
dann wäre es noch wichtig zu wissen, in welcher Programmzeile der Fehler auftritt und welche Fehlermeldung du bekommst.
Gruß Daniel
Anzeige
so, bin auch fertig
22.07.2022 11:39:46
Oberschlumpf
Hi,
hier, teste (auch meine Idee) mal :-)
https://www.herber.de/bbs/user/154305.xlsm
Wie du nach dem Öffnen der Datei in Tabelle1 siehst, siehst du erst mal...nix
Wechsel nun mal zu Tabelle2 und wechsel zurück zu Tabelle1
= in Spalte B in Tabelle1 wurden Kommentare hinzugefügt
Wenn du nun mit Maus über die jeweiligen Zellen bewegst (is ja zumindest so ähnlich wie MouseMove), dann siehst du für jede Zelle den jeweils richtigen Langtext.
= wird erreicht, wie in meiner Erstbeschreibung erwähnt - jedesmal, wenn man Tabelle1 zur Ansicht auswählt, werden die Kommentare aktualisiert
Gib jetzt mal in Zelle A3 z Bsp 4 ein (also alte Artnr 2 einfach in neue/andere Artnr 4 ändern)
= wenn du jetzt Maus über Zelle B3 bewegst, wird nun der Langtext für Artnr 4 angezeigt
Hilfts?
Ciao
Thorsten
Anzeige
AW: so, bin auch fertig
22.07.2022 11:45:19
Seb
Ja super...genau so :)
Eine kleine Sache noch, dann wäre es perfekt: Könntest du noch einen kurzen Kommentar einbauen, sofern es keinen Langtext gibt?
Dank dir.
AW: so, bin auch fertig
22.07.2022 12:17:01
Oberschlumpf
Hi,
hier neue Version
https://www.herber.de/bbs/user/154308.xlsm
Wie gehabt, erstmal siehste...nix
Wechsel nun zu Tabelle2 UND lösch mal den ganzen Langtext z Bsp für Artnr 3 (nur Langtext in Spalte B löschen, aber nich die 3 in Spalte A!)
Wechsel jetzt zurück zu Tabelle1 und schau dir die Kommentare mit den Langtexten an.
Hilfts?
Ciao
Thorsten
Anzeige
AW: so, bin auch fertig
22.07.2022 12:59:03
Seb
...ich bin zu blöd, um es auf meine Datei anzuwenden :(
Könntest du mir bitte einen letzten Gefallen tun:
Tabelle1 heißt eigentlich Behälter und die Art. stehen ab Zelle B3 folgend, die Kommentare dann in Spalte C
Tabelle2 heißt ZMSU und dort stehen die Art. Nr. in Spalte F und die Langtexte in Spalte G.
Durch deinen Code steige ich leider nicht durch, tut mir voll leid.
Dank dir vielmals..
Anzeige
AW: so, bin auch fertig
22.07.2022 13:06:09
Oberschlumpf
nö, zeig mir ne Bsp-Datei mit den Werten genau da, wo sie auch im Original sind - und - auch mit den richtigen Blattnamen....also, pass die neue Bsp-Datei genau so an, womit du - jetzt - Schwierigkeiten hast...dann versuch ich mein Glück noch mal
Ciao
Thorsten
AW: so, bin auch fertig
23.07.2022 08:39:27
Oberschlumpf
Hi,
ich weiß, gestern gabs hier n paar Probleme, auf Beiträge zu antworten, oder neue Beiträge zu erstellen.
Kommt denn von dir noch die passende Bsp-Datei, oder hast du deine Fragen selbdst beantworten können?
Ciao
Thorsten
Anzeige
AW: so, bin auch fertig
25.07.2022 10:19:06
Seb
Hi,
hab's lösen können. Vielen Dank :)
;

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Individueller Text bei MouseOver in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und stelle sicher, dass du zwei Tabellen hast: eine für die Art. Nr. und Kurztexte (z. B. Tabelle1) und eine für die Langtexte (z. B. Tabelle2).

  2. Erstelle einen VBA-Code: Öffne den VBA-Editor (ALT + F11), füge ein neues Modul hinzu und kopiere den folgenden Code hinein:

    Dim Zelle As Range
    Dim KomStart As Range
    Dim KomEnde As Range
    Dim KomZelle As Range
    Dim txt As String
    
    For Each Zelle In Sheets("Tabelle1").Range(Sheets("Tabelle1").Cells(2, 1), Sheets("Tabelle1").Cells(1, 1).End(xlDown))
       Set KomStart = Sheets("Tabelle2").Columns(1).Find(what:=Zelle.Value, lookat:=xlWhole)
       If KomStart Is Nothing Then
           On Error Resume Next
           Zelle.Comment.Delete
           On Error GoTo 0
       Else
           If KomStart.Offset(1, 0) = "" Then
               Set KomEnde = KomStart.End(xlDown)
               If KomEnde.Row = Rows.Count Then
                   Set KomEnde = KomStart.Offset(0, 1).End(xlDown)
               Else
                   Set KomEnde = KomEnde.Offset(-1, 1)
               End If
           End If
           For Each KomZelle In Range(KomStart.Offset(0, 1), KomEnde)
               txt = txt & vbLf & KomZelle.Value
           Next
           On Error Resume Next
           Zelle.Comment.Delete
           On Error GoTo 0
           Zelle.AddComment
           Zelle.Comment.Text Text:=Mid(txt, 2)
           txt = ""
       End If
    Next
  3. Füge den Code in das richtige Ereignis ein: Du kannst den Code entweder im Deactivate-Event von Tabelle2 oder im Activate-Event von Tabelle1 einfügen, um sicherzustellen, dass die Kommentare aktualisiert werden, wenn du zwischen den Tabellen wechselst.

  4. Teste den MouseOver-Effekt: Gehe zurück zu deiner Excel-Datei und bewege die Maus über die Zellen in Tabelle1. Du solltest jetzt den Langtext als Kommentar sehen, wenn du mit der Maus darüber fährst.


Häufige Fehler und Lösungen

  • Laufzeitfehler: Wenn du beim Wechsel von Tabelle2 zu Tabelle1 einen Laufzeitfehler erhältst, überprüfe, ob die Zellreferenzen korrekt sind und ob alle Daten vorhanden sind.

  • Kommentare werden nicht angezeigt: Stelle sicher, dass die Kommentare tatsächlich in den Zellen vorhanden sind. Manchmal kann es auch helfen, Excel neu zu starten.

  • Falsche Zellreferenzen: Achte darauf, dass die Referenzen zu den richtigen Blättern und Zellen passen, vor allem, wenn du die Blattnamen oder Zellpositionen geändert hast.


Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch Kommentare oder Hyperlinks nutzen, um Informationen zu den Zellen hinzuzufügen. Bei Hyperlinks kannst du die Funktion =HYPERLINK() verwenden, um auf andere Zellen oder Dokumente zu verweisen.


Praktische Beispiele

  1. Beispiel mit Hyperlinks: Du kannst Hyperlinks zu jeder Zelle in Tabelle1 hinzufügen, die zu den Langtexten in Tabelle2 führen. Das ist zwar kein MouseOver, aber eine nützliche Alternative.

  2. Verwendung von Kommentaren: Du kannst manuell Kommentare zu Zellen hinzufügen, die dann angezeigt werden, wenn du mit der Maus über die Zelle fährst. Dies ist jedoch statisch und nicht so dynamisch wie die VBA-Lösung.


Tipps für Profis

  • Nutze die OnError-Anweisungen, um den Code robuster zu machen und um Laufzeitfehler zu vermeiden.

  • Experimentiere mit Conditional Formatting (Bedingte Formatierung), um visuelle Hinweise zu geben, wenn die Maus über bestimmte Zellen fährt.

  • Stelle sicher, dass du die Entwicklertools in Excel aktiviert hast, um VBA einfacher nutzen zu können.


FAQ: Häufige Fragen

1. Kann ich auch HTML für MouseOver verwenden?
Ja, aber Excel unterstützt keine HTML-Elemente direkt. Du kannst jedoch ähnliche Effekte mit VBA und Kommentaren erzielen.

2. Welche Excel-Version benötige ich?
Die meisten VBA-Funktionen sind in Excel 2010 und neuer verfügbar. Stelle sicher, dass du eine kompatible Version nutzt.

3. Was kann ich tun, wenn ich keine VBA-Kenntnisse habe?
Du kannst die oben genannten Alternativen wie Hyperlinks oder manuelle Kommentare nutzen, um ähnliche Ergebnisse zu erzielen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige