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

Forumthread: Variabler Controltiptext b. Mouseover in Combobox?

Variabler Controltiptext b. Mouseover in Combobox?
25.01.2007 20:57:04
Olli
Hallo liebe Forumsgemeinde,
ich steh mal wieder vor einem Problem und weiß noch nicht, wie ich das lösen kann.
In einer UF befindet sich u.a. eine Combobox, die über Rowsource (=Spalte "C")befüllt wird. Kann man erreichen, dass beim Aufklappen der Combobox mittels Mouseover der Controltiptext jeweils den Wert aus der vorherigen Spalte ("B") der Zeile anzeigt? Also ohne, dass der Wert in der Combobox erst mit der Maus angeklickt wird?
Wäre super, wenn wer ne Idee hätte. Meine bisherigen Versuche sind leider gescheitert ;O/
P.S.: VBA Kenntnisse gehen über den Makrorekorder hinaus....würde sie aber noch nicht als gut einschätzen ;O)
Gruß
Olli
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Variabler Controltiptext b. Mouseover in Combobox?
25.01.2007 21:43:21
Nepumuk
Hallo Olli,
das geht so nicht. Du könntest den Zellinhalt aber z.B. in einem Label über der Box anzeigen.
Gruß
Nepumuk
AW: Variabler Controltiptext b. Mouseover in Combo
25.01.2007 21:52:46
Olli
Hallo Nepomuk,
schade...aber Label wäre ja auch ne Idee....doch wie bekomme ich das damit hin? Wie gesagt, ich möchte die Anzeige ohne Mausklick erreichen....wenn man mit der Maus über die Combobox geht, markiert er ja die Zeile farblich...und dabei soll dann die Spalte B (dann halt im Label) ausgegeben werden....mit Mausklick bekomme ich ja hin, aber wie ohne?
Gruß
Olli
Anzeige
AW: Variabler Controltiptext b. Mouseover in Combo
25.01.2007 23:02:34
Nepumuk
Liebste K.Rola,
hätte ich dann auch so gemacht. Habe erst mal versucht herauszubekommen, ob die Liste ausgeklappt ist oder nicht. Aber diese Info behält die Box für sich. Ich kann nämlich so nicht unterscheiden, ob der Cursor über der Box, oder der ausgeklappten Liste steht.
Gruß
Nepumuk
Anzeige
AW: Variabler Controltiptext b. Mouseover in Combo
25.01.2007 23:17:17
K.Rola
Hallo Nepumuk,
für meine unmaßgebliche Meinung ist das Ganze ohnehin nur Sport, also ohne praktischen
Wert, da es effektivere Möglichkeiten gibt.
Schick mir doch mal eine email, wie es dir in Berlin so ergeht.
Gruß K.Rola
mit der Lösung kann ich arbeiten ;O)
26.01.2007 15:43:42
Olli
Hallo K.Rola,
danke für die .xls.´Damit kann ich was anfangen...
Mag sein, dass es "nur Sport" ist...für die Anwender meiner Arbeitsmappe aber ein nachvollziehbares Anliegen gewesen. Nicht unbedingt erforderlich, aber doch hilfreich.
Daher Dir und Nepomuk einen großen Dank für die Unterstützung
Gruß
Olli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Variabler Controltiptext bei Mouseover in einer Combobox


Schritt-für-Schritt-Anleitung

Um einen variablen Controltiptext bei Mouseover in einer Combobox zu realisieren, kannst du die folgenden Schritte befolgen. Diese Anleitung setzt voraus, dass du grundlegende Kenntnisse in VBA hast, da wir ein wenig Programmierung benötigen:

  1. Öffne dein Excel-Dokument und gehe in die Entwicklertools.

  2. Füge eine Combobox in dein UserForm ein und stelle sicher, dass die RowSource auf die gewünschte Spalte (z.B. "C") zeigt.

  3. Füge ein Label über der Combobox hinzu, das den gewünschten Text anzeigen soll.

  4. Öffne den VBA-Editor (ALT + F11) und wähle dein UserForm aus.

  5. Füge den folgenden Code in das Codefenster des UserForms ein:

    Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
       Dim index As Long
       index = ComboBox1.ListIndex
       If index <> -1 Then
           Label1.Caption = Cells(index + 1, 2).Value ' Zeigt den Wert aus Spalte B an
       End If
    End Sub
  6. Teste dein UserForm und bewege die Maus über die Combobox. Das Label sollte nun den Wert aus der Spalte B anzeigen, ohne dass ein Mausklick erforderlich ist.


Häufige Fehler und Lösungen

  • Problem: Das Label zeigt keinen Text an.

    • Lösung: Stelle sicher, dass die RowSource der Combobox korrekt gesetzt ist und dass die Indizes in der Cells()-Funktion korrekt sind. Achte darauf, dass die Indizes mit 0 beginnen, wenn du sie in VBA verwendest.
  • Problem: Der MouseMove-Ereignis wird nicht ausgelöst.

    • Lösung: Überprüfe, ob die Combobox tatsächlich den Fokus hat und ob das Event richtig zugeordnet ist. Eventuell ist ein anderer Layer (z.B. ein anderes Steuerelement) über der Combobox.

Alternative Methoden

Falls du keine VBA-Kenntnisse hast oder eine alternative Lösung suchst, könntest du überlegen, ein Label über der Combobox zu verwenden, das die Informationen anzeigt, wenn der Benutzer mit der Maus darüber fährt. Diese Methode erfordert allerdings mehr manuelle Anpassungen und ist nicht so dynamisch wie die VBA-Lösung.


Praktische Beispiele

Angenommen, du möchtest in deiner Excel-Anwendung eine Liste von Produkten in der Combobox anzeigen. Die Spalte B enthält die Produktbeschreibung. Mit dem oben beschriebenen Code wird beim Mouseover über die Combobox die jeweilige Produktbeschreibung im Label angezeigt. Hier ein Beispiel:

  • Combobox (C): Produkt A, Produkt B, Produkt C
  • Label (B): Beschreibung A, Beschreibung B, Beschreibung C

Wenn der Nutzer mit der Maus über "Produkt A" fährt, wird "Beschreibung A" im Label angezeigt.


Tipps für Profis

  • Um die Benutzererfahrung zu verbessern, kannst du zusätzliche Formatierungen für das Label verwenden, wie z.B. die Schriftgröße oder -farbe, um wichtige Informationen hervorzuheben.
  • Teste verschiedene Events, wie MouseEnter und MouseLeave, um das Verhalten weiter anzupassen.
  • Nutze Application.ScreenUpdating = False, um das Flackern während der Aktualisierung zu verhindern.

FAQ: Häufige Fragen

1. Kann ich den Code für andere Steuerelemente verwenden?
Ja, du kannst ähnliche Ansätze für andere Steuerelemente wie Listboxen oder Textfelder verwenden, indem du entsprechende Ereignisse anpasst.

2. Was mache ich, wenn ich keine VBA-Kenntnisse habe?
In diesem Fall kannst du versuchen, die Benutzeroberfläche ohne VBA anzupassen. Eine Möglichkeit wäre, ein Label zu verwenden, das sich manuell aktualisiert, wenn der Benutzer die Auswahl ändert.

3. Funktioniert das in Excel 365?
Ja, die beschriebene Methode funktioniert in Excel 365 sowie in den meisten früheren Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige