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

Forumthread: Menüleiste in Userform

Menüleiste in Userform
16.08.2015 12:45:22
Uli
Guten Morgen liebe VBA-Experten,
ich habe eine Userform mit einer Menüleiste gebastelt. Die Menüleiste besteht aus drei Label, die sich - wenn ich mit der Maus drüberfahre - färben. Wenn ich auf ein Label klicke, geht ein Frame darunter auf, in der sich wiederum mehrere Label befinden. Wenn ich nun mit der Maus über ein Label in diesem Frame fahre, dann färbt es sich. Es entfärbt sich allerdings erst wieder, wenn ich das Frame verlasse.
Ich möchte allerdings, dass die Farbe wieder in den Ursprung wechselt, sobald ich das Label nicht mehr mit der Maus "berühre".
Ich habe eine kleine Datei hochgeladen. Vielleicht kann mir jemand helfen.
https://www.herber.de/bbs/user/99616.xlsm
lg. Uli

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Menüleiste in Userform
16.08.2015 13:46:23
Uli
hallo Nepomik
ja, das interessiert mich schon sehr

Anzeige
AW: Menüleiste in Userform
16.08.2015 14:03:46
Nepumuk
Hallo,
die Dateien sind teileise auch als .zip zu groß. Schreib mir eine Mail an: kaffl.max at web.de
Dann schicke ich sie dir.
Gruß
Nepumuk
;
Anzeige

Infobox / Tutorial

Menüleiste in Userform gestalten


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne Excel und erstelle eine neue Userform über den VBA-Editor (ALT + F11).

  2. Menüleiste hinzufügen: Füge drei Labels zur Userform hinzu. Diese werden deine Menüleiste darstellen.

  3. MouseOver-Ereignis programmieren: Klicke mit der rechten Maustaste auf das erste Label und wähle „Code anzeigen“. Füge folgenden Code ein:

    Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Label1.BackColor = vbBlue 'Farbe ändern
    End Sub
    
    Private Sub Label1_MouseLeave()
        Label1.BackColor = vbTransparent 'Farbe zurücksetzen
    End Sub
  4. Frame hinzufügen: Füge einen Frame unter den Labels hinzu und platziere mehrere Labels darin.

  5. Farbe für Frame-Labels einstellen: Wiederhole den Schritt für die Labels im Frame, um das MouseOver-Ereignis zu implementieren.

  6. Testen: Starte die Userform und teste die Funktionen der Menüleiste.


Häufige Fehler und Lösungen

  • Farbe verändert sich nicht beim Verlassen: Stelle sicher, dass das MouseLeave-Ereignis korrekt implementiert ist. Achte darauf, dass du den richtigen Namen des Labels verwendest.
  • Labels im Frame reagieren nicht: Prüfe, ob die Labels im Frame auch die MouseMove- und MouseLeave-Ereignisse besitzen.
  • Userform lässt sich nicht öffnen: Überprüfe, ob der Code in einem Modul oder in der Userform selbst platziert ist.

Alternative Methoden

Wenn du eine komplexere Menüleiste benötigst, kannst du auch Steuerelemente wie Buttons oder ListBoxen verwenden. Diese bieten zusätzliche Funktionen und können ebenfalls mit MouseOver-Ereignissen programmiert werden.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Implementierung einer Farbänderung bei MouseOver:

Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label2.BackColor = RGB(255, 0, 0) 'Rot
End Sub

Private Sub Label2_MouseLeave()
    Label2.BackColor = vbWhite 'Zurück zur ursprünglichen Farbe
End Sub

Du kannst die Farben nach Belieben anpassen, um die Benutzeroberfläche ansprechender zu gestalten.


Tipps für Profis

  • Animations-Effekte: Experimentiere mit sanften Farbwechseln, um eine ansprechendere Benutzererfahrung zu schaffen.
  • Verwendung von Icons: Ziehe in Betracht, Icons in den Labels zu verwenden. Das macht die Menüleiste visuell ansprechender.
  • Zugänglichkeit: Achte darauf, dass die Farben ausreichend Kontrast bieten, um die Lesbarkeit zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich die Userform automatisch öffnen?
Füge folgenden Code in das „DieseArbeitsmappe“-Modul ein:

Private Sub Workbook_Open()
    Userform1.Show
End Sub

2. Kann ich die Menüleiste auch in Excel 2010 verwenden?
Ja, die oben genannten Schritte gelten für Excel 2010 und neuere Versionen. Stelle sicher, dass du den VBA-Editor verwenden kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige