Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wert in Combobox wählen makro ausführen

Wert in Combobox wählen makro ausführen
Ina
Hallo und guten Morgen zusammen,
ich habe eine Userform mit einer Kombobox erstellt.
Nun möchte ich einen Wert wählen und je nach Wahl ein anderes Makro ausführen.
Leider klappt das irgendwie nicht mit meiner Bastelei...
Muß ich das irgendwie mit einem CommandButton verbinden?
Hier ist der Code (der leider nicht läuft...)
Sub UserForm_Activate()
With Me.ComboBox1
.AddItem " 1 Martin "
.AddItem " 2 Michael "
.AddItem " 3 Sabine "
.ListIndex = 0
End With
End Sub
Private Sub ComboBox1_Change()
Select Case ComboBox1.Value
Case " 1 Martin"
Makro1
Case " 2 Michael"
Makro2
Case " 3 Sabine"
Makro3
End Select
End Sub
Sub Makro1()
MsgBox "Hallo Martin"
End Sub Sub Makro2()
MsgBox "Hallo Michael"
End Sub Sub Makro3()
MsgBox "Hallo Sabine"
End Sub LG Ina

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wert in Combobox wählen makro ausführen
15.09.2012 11:02:36
Hajo_Zi
Hallo Ina,
der Code sieht ok aus.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert. Ein Link zur Datei wäre nicht schlecht.

unterschiedl. Strings !
15.09.2012 11:26:24
Matthias
Hallo
Du solltest auf die unterschiedlichen Leerzeichen aufpassen !
Sub UserForm_Activate()
With Me.ComboBox1
.AddItem "1 Martin"
.AddItem "2 Michael"
.AddItem "3 Sabine"
.ListIndex = -1
End With
End Sub
Private Sub ComboBox1_Change()
Select Case ComboBox1.Value
Case "1 Martin"
Makro1
Case "2 Michael"
Makro2
Case "3 Sabine"
Makro3
End Select
End Sub
Sub Makro1()
MsgBox "Hallo Martin"
End Sub
Sub Makro2()
MsgBox "Hallo Michael"
End Sub
Sub Makro3()
MsgBox "Hallo Sabine"
End Sub
Gruß Matthias

Anzeige
AW: unterschiedl. Strings !
15.09.2012 11:35:14
Ina
Hallo Matthias,
vielen Dank für Deinen Beitrag. Genau so sollte das laufen.
Die Leerzeichen hatte ich nicht bedacht. Aber ich lerne noch...
LG Ina
;
Anzeige
Anzeige

Infobox / Tutorial

Wert in Combobox wählen und Makro ausführen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Erstelle eine Userform in Excel und füge eine Kombobox (ComboBox) hinzu.

  2. Werte zuweisen: Füge die gewünschten Werte in die Kombobox ein. Hier ist ein Beispielcode, den Du verwenden kannst:

    Private Sub UserForm_Activate()
       With Me.ComboBox1
           .AddItem "1 Martin"
           .AddItem "2 Michael"
           .AddItem "3 Sabine"
           .ListIndex = -1 ' Setzt die Auswahl zurück
       End With
    End Sub
  3. Makros erstellen: Definiere die Makros, die Du ausführen möchtest. Hier ein Beispiel:

    Sub Makro1()
       MsgBox "Hallo Martin"
    End Sub
    
    Sub Makro2()
       MsgBox "Hallo Michael"
    End Sub
    
    Sub Makro3()
       MsgBox "Hallo Sabine"
    End Sub
  4. ComboBox ändern: Implementiere den Code für die ComboBox, um das entsprechende Makro auszuführen:

    Private Sub ComboBox1_Change()
       Select Case ComboBox1.Value
           Case "1 Martin"
               Makro1
           Case "2 Michael"
               Makro2
           Case "3 Sabine"
               Makro3
       End Select
    End Sub
  5. Testen: Teste die Userform, um sicherzustellen, dass die Makros wie gewünscht ausgeführt werden.


Häufige Fehler und Lösungen

  • Problem: Excel Makros lassen sich nicht aktivieren.

    • Lösung: Überprüfe die Sicherheitseinstellungen in Excel. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center, und stelle sicher, dass die Makros aktiviert sind.
  • Problem: Fehlerhafte Leerzeichen in den Werten.

    • Lösung: Achte darauf, dass Du keine überflüssigen Leerzeichen in den AddItem-Methoden hast. Der Code sollte wie folgt aussehen:
    With Me.ComboBox1
       .AddItem "1 Martin"
       .AddItem "2 Michael"
       .AddItem "3 Sabine"
    End With

Alternative Methoden

Falls Du eine andere Methode bevorzugst, um Werte in die Kombobox einzufügen, kannst Du die Werte auch direkt aus einem Excel-Arbeitsblatt ziehen. Hier ein Beispiel:

Private Sub UserForm_Activate()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Dein Arbeitsblattname

    Dim i As Integer
    For i = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row
        Me.ComboBox1.AddItem ws.Cells(i, 1).Value ' Werte aus Spalte A
    Next i
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie Du die Userform und die Kombobox in einer echten Anwendung nutzen kannst:

  1. Userform erstellen mit verschiedenen Auswahlmöglichkeiten.
  2. Makros verknüpfen: Jedes Makro könnte eine andere Funktion erfüllen, wie das Abrufen von Daten oder das Aktualisieren eines Berichts.
  3. Dynamische Werte: Du kannst die Werte in der Kombobox auch dynamisch aus einer Datenbank oder einer anderen Quelle abrufen.

Tipps für Profis

  • Verwende Error Handling: Um sicherzustellen, dass Dein Code auch bei unerwarteten Eingaben stabil bleibt, füge Error Handling hinzu:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Benutzerfreundlichkeit: Füge Hinweise oder Tooltips hinzu, die den Benutzern helfen, die Kombobox effektiv zu nutzen.


FAQ: Häufige Fragen

1. Wie kann ich die Kombobox automatisch mit Werten füllen? Du kannst die Kombobox mit Werten aus einem Arbeitsblatt füllen, indem Du den entsprechenden Code in die UserForm_Activate-Methode einfügst.

2. Was, wenn mein Makro nicht funktioniert? Überprüfe die Sicherheitseinstellungen für Makros in Excel und sicher, dass der Code korrekt und ohne Schreibfehler ist.

3. Kann ich mehrere Komboboxen in einer Userform haben? Ja, Du kannst mehrere Komboboxen in einer Userform haben, und jede kann ihre eigenen Makros haben, die bei Änderungen ausgelöst werden.

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