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

Forumthread: Kommentare mit VBA bei Mouse-Over erzeugen

Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 12:46:28
Masanja
Hallo,
Kommentare sollen in einzelnen Zellen des Tabellenblatts erzeugt werden, sobald der Cursor der Maus darüberstreicht (also in derselben Weise in der bestehende, ausgeblendete Kommentare im Tabellenblatt angezeigt werden) und gelöscht werden, sobald die Maus eine andere Position einnimmt.
Leider kennen die Excel-Objekte kein entsprechendes Mouse_over Ereignis.
Wer hat einen Tipp wie man da rangeht bzw. wie Excel bestehende Kommentare bei Mausbewegungen einblendet?
Vielen Dank
Gruß
Masanja
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 12:52:03
Rudi
Hallo,
Leider kennen die Excel-Objekte kein entsprechendes Mouse_over Ereignis.
Deshalb geht es nicht.
... bzw. wie Excel bestehende Kommentare bei Mausbewegungen einblendet?
Musst du Bill G. fragen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 13:19:44
Masanja
Leider kennen die Excel-Objekte kein entsprechendes Mouse_over Ereignis.
Deshalb geht es nicht.

Ja, eben. Das ist der Kern meiner Frage.
Musst du Bill G. fragen.
Ich gehöre scheinbar nicht zu den Eingeweihten... Wer oder was ist also Bill G.?
Gruß
Masanja
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 13:35:28
Gruß
Hallo,
och, Bill G. ist eigentlich nix besonderes, ist halt nur der reichste Mann der Welt und Mitbegründer von Microsoft.
Gruß
AW: Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 15:07:49
Klaus
Hallo Masanja,
etwas ganz ähnliches erreichst du mit "Daten - Gültigkeit - Eingabemeldung". Allerding muss die Zelle dafür selektiert werden (also Mouseclick oder Coursorbewegung), ein reines Mouseover reicht da nicht aus.
Wenn es unbedingt eine Mouseover-Eigenschaft sein muss, würd ich mit durchsichtigen Shapes experimentieren, die von der Zellgröße abhängig sind.
Beispiel:
https://www.herber.de/bbs/user/40013.xls
Gruß,
Klaus
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
30.01.2007 15:28:36
Masanja
Hallo Klaus,
etwas ganz ähnliches erreichst du mit "Daten - Gültigkeit - Eingabemeldung". Allerding muss die Zelle dafür selektiert werden (also Mouseclick oder Coursorbewegung), ein reines Mouseover reicht da nicht aus.
Im Moment realisiere ich es über das SheetSelectionChange-Ereignis des Application-Objekts. Aber auch dafür muss die Zelle ausgewählt werden und macht dann umfassende Absicherungen nötig, falls das Tabellenblatt/ die Datei gewechselt wird...
Das mit dem Shape ist eine interessante Idee, wobei ich im Moment keine Vorstellung habe, wie sehr das eine Datei aufbläht, wenn man die für Hunderte Zellen einführt und verwaltet.
Gruß
Masanja
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
31.01.2007 07:55:27
Klaus
Hallo Masanja,
danke für die Rückmeldung erstmal.
für hunderte Zellen ist mein Workaround ganz bestimmt nicht nutzbar. Die bessere Frage ist imho, ob es denn wirklich MouseOver Ereignisse sein müssen - Kommentare, Gültigkeitsmeldungen und beschriebene Hilfsspalten währen ja easy. Aber ich weiss ja nicht was du vor hast und manchmal reicht "Der Chef will es so" aus um sich in die blödesten Sachen verbeissen zu müssen ^^
Da ich keine besseren Ideen hab, Frage wieder offen.
Grüße,
Klaus M.vdT.
Anzeige
AW: Kommentare mit VBA bei Mouse-Over erzeugen
31.01.2007 10:48:01
Masanja
Hallo Klaus,
Entscheidend bei dem zu lösenden Problem ist die auffällige Anzeige bestimmter zur betrachteten Zelle gehörender Informationen in großen Datensätzen. Du hast sicher recht, dass geht auch ohne MouseOver (z.B. SheetSelectionChange oder wie von dir beschrieben Eingabemeldung). Aber der eleganteste Weg im Sinne der Nutzerfreundlichkeit und des dahinter stehenden Programmieraufwandes wäre etwas das wie die Anzeige bestehender, aber ausgeblendeter Kommentare in Excel funktioniert - eben mit dem Unterschied dass sie erst bei Positionierung der Maus erzeugt und dann wieder gelöscht werden.
Soweit erstmal
Gruß
Masanja
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Kommentare mit VBA bei Mouse-Over erzeugen


Schritt-für-Schritt-Anleitung

Um Kommentare in Excel mit VBA bei Mouse-Over zu erzeugen, kannst du den folgenden Ansatz verwenden. Beachte, dass Excel keine native Mouse-Over-Ereignisse unterstützt, aber du kannst es mit einem Workaround erreichen.

  1. Öffne das Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf deinen Projekt-Namen, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Dim WithEvents cell As Range
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Not cell Is Nothing Then
           cell.Comment.Delete
       End If
       Set cell = Target
       If Not cell Is Nothing Then
           cell.AddComment "Dein Kommentar hier"
           cell.Comment.Visible = True
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Blatt.

  5. Wähle eine Zelle aus, um den Kommentar anzuzeigen.

Dieser Code verwendet das Worksheet_SelectionChange-Ereignis, um einen Kommentar anzuzeigen, wenn die Zelle ausgewählt wird. Ein echtes Mouse-Over ist in Excel jedoch nicht verfügbar.


Häufige Fehler und Lösungen

  • Fehler: Kommentare werden nicht angezeigt.

    • Lösung: Stelle sicher, dass der Kommentar korrekt hinzugefügt wurde und dass die Zelle ausgewählt ist.
  • Fehler: Der Kommentar bleibt auch nach Verlassen der Zelle sichtbar.

    • Lösung: Überprüfe, ob der Kommentar im Code gelöscht wird, bevor eine neue Zelle ausgewählt wird.
  • Fehler: Der Code funktioniert nicht in älteren Excel-Versionen.

    • Lösung: Vergewissere dich, dass du eine Version von Excel verwendest, die VBA unterstützt (Excel 2000 oder neuer).

Alternative Methoden

  1. Daten-Gültigkeit mit Eingabemeldung: Du kannst die Funktion für Daten-Gültigkeit verwenden, um eine Eingabemeldung anzuzeigen, wenn die Zelle ausgewählt wird. Das erfordert jedoch einen Mausklick und kein Mouse-Over.

  2. Shapes verwenden: Eine andere Möglichkeit besteht darin, durchsichtige Shapes über die Zellen zu platzieren, die beim Mouse-Over den Kommentar anzeigen. Dies kann jedoch die Dateigröße erhöhen und ist weniger elegant.


Praktische Beispiele

Um zu veranschaulichen, wie du den VBA-Code nutzen kannst, gehe wie folgt vor:

  • Erstelle eine Excel-Tabelle mit verschiedenen Datensätzen.
  • Füge den VBA-Code ein und passe den Kommentartext an, um relevante Informationen zu zeigen.
  • Klicke auf verschiedene Zellen, um die Kommentare anzuzeigen.

Beispiel: Du kannst den Kommentar „Verfügbar: 100 Stück“ in einer Zelle anzeigen, wenn der Benutzer darüber fährt.


Tipps für Profis

  • Verwende benutzerdefinierte Formen: Erstelle benutzerdefinierte Formen, die du über die Zellen legst. Diese können als interaktive Elemente dienen und bei Mouse-Over einen Text anzeigen.

  • Nutze Application.OnTime: Um eine Verzögerung einzuführen, bevor der Kommentar wieder gelöscht wird, kannst du Application.OnTime verwenden, um eine benutzerdefinierte Zeitspanne zu definieren.


FAQ: Häufige Fragen

1. Wie kann ich den Kommentar dauerhaft anzeigen?
Du kannst die Sichtbarkeit des Kommentars im Code anpassen, indem du cell.Comment.Visible = True setzt und es nicht löscht.

2. Funktioniert das in Excel Online?
VBA wird in Excel Online nicht unterstützt. Du musst die Desktop-Version verwenden, um den Code auszuführen.

3. Kann ich mehrere Kommentare in verschiedenen Zellen anzeigen?
Ja, du kannst den Code anpassen, um verschiedene Kommentare für verschiedene Zellen anzuzeigen, indem du die Bedingung für die Zelle im Code änderst.

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