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

Forumthread: ComboBox-Auswahl mit CommandButton Makro starten

ComboBox-Auswahl mit CommandButton Makro starten
04.02.2014 09:24:47
Stefan
Hallo zusammen,
hat einer ne Idee wie man folgendes umsetzt?:
Ich möchte in einer UserForm mittels dropdown verschiedene Zahlen auswählen. Dazu habe ich folgendes:
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "201"
.AddItem "205"
.AddItem "206"
.AddItem "207"
.AddItem "220"
.ListIndex = 0 'Vorbelegung "201" bei Formularstart
End With
End Sub

Ich möchte, dass erst beim Drücken des CommandButton1 ein jeweiliges Makro für die ausgewählte Zahl aufgerufen wird, welches ich für jede Zahl hinterlegt habe.
Folgendes funktioniert leider nicht...
Private Sub CommandButton1_Click()
If Select Case ComboBox1.201 Then Call Makro201
Else Select Case ComboBox1.205 Then Call Makro205
usw.
Hoffe das ist nicht zu kompliziert erklärt und es kann mir einer weiter helfen.
Besten Dank im Voraus!
Stefan

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox-Auswahl mit CommandButton Makro starten
04.02.2014 09:51:17
Rudi
Hallo,
merkwürdige Syntax.
Select case combobox 1
case "201": Makro201
case "205": Makro205
'etc.
end select
Gruß
Rudi

AW: ComboBox-Auswahl mit CommandButton Makro starten
04.02.2014 10:10:06
Stefan
Hallo Rudi,
darum steht auch oben VBA-Kenntnisse bescheiden :) Sorry bin noch ein Neuling auf dem Gebiet.
Besten Dank für den Code! So einfach kanns sein!
Viele Grüße,
Stefan

Anzeige
AW: Hier wurde für ein analoges Problem bereits eine
04.02.2014 11:16:43
Stefan
Hi Jack_d,
danke für die Info! Die Variante von Rudi reicht aber aus, da ich keine Variablen Namen habe.
Greetz
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

ComboBox mit CommandButton in Excel VBA verwenden


Schritt-für-Schritt-Anleitung

Um eine ComboBox in einer UserForm mit einem CommandButton zu verbinden, folge diesen Schritten:

  1. UserForm erstellen: Öffne den Visual Basic for Applications (VBA) Editor und füge eine neue UserForm hinzu.

  2. ComboBox hinzufügen: Ziehe eine ComboBox (ComboBox1) und einen CommandButton (CommandButton1) auf die UserForm.

  3. Initialisierungscode schreiben: Füge den folgenden Code in das Code-Fenster der UserForm ein, um die ComboBox mit Werten zu füllen:

    Private Sub UserForm_Initialize()
        With Me.ComboBox1
            .AddItem "201"
            .AddItem "205"
            .AddItem "206"
            .AddItem "207"
            .AddItem "220"
            .ListIndex = 0 'Vorbelegung "201" bei Formularstart
        End With
    End Sub
  4. Makroaufruf beim Button-Klick: Füge den folgenden Code für das Click-Ereignis des CommandButtons hinzu, um das entsprechende Makro basierend auf der Auswahl in der ComboBox aufzurufen:

    Private Sub CommandButton1_Click()
        Select Case ComboBox1.Value
            Case "201": Call Makro201
            Case "205": Call Makro205
            Case "206": Call Makro206
            Case "207": Call Makro207
            Case "220": Call Makro220
        End Select
    End Sub

Häufige Fehler und Lösungen

Problem: Der Code funktioniert nicht, wenn die ComboBox leer ist.
Lösung: Stelle sicher, dass die ComboBox initialisiert wird und Werte enthält, bevor der CommandButton geklickt wird. Überprüfe auch, ob die Makros, die aufgerufen werden, korrekt definiert sind.

Problem: Syntaxfehler im Select Case.
Lösung: Achte darauf, dass der Select Case-Befehl richtig geschrieben ist, wie im obigen Beispiel.


Alternative Methoden

Eine alternative Methode, um die Auswahl in einer ComboBox zu verarbeiten, wäre die Verwendung von If...ElseIf-Anweisungen anstelle von Select Case. Beispiel:

Private Sub CommandButton1_Click()
    If ComboBox1.Value = "201" Then
        Call Makro201
    ElseIf ComboBox1.Value = "205" Then
        Call Makro205
    ' Weitere Bedingungen hier...
    End If
End Sub

Praktische Beispiele

Hier sind einige Beispiele für die zugehörigen Makros:

Sub Makro201()
    MsgBox "Makro 201 wurde aufgerufen!"
End Sub

Sub Makro205()
    MsgBox "Makro 205 wurde aufgerufen!"
End Sub

Sub Makro206()
    MsgBox "Makro 206 wurde aufgerufen!"
End Sub

Sub Makro207()
    MsgBox "Makro 207 wurde aufgerufen!"
End Sub

Sub Makro220()
    MsgBox "Makro 220 wurde aufgerufen!"
End Sub

Diese Makros zeigen eine einfache MessageBox an, können jedoch durch komplexere Logik ersetzt werden.


Tipps für Profis

  • Variablen verwenden: Du kannst die Werte der ComboBox auch in Variablen speichern, um sie später im Code zu verwenden.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Eingaben oder Fehler abzufangen.
  • Dynamische Befüllung: Du kannst die ComboBox auch dynamisch aus einer Datenquelle (wie einer Excel-Tabelle) füllen, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die ComboBox mit Werten aus einer Excel-Tabelle füllen?
Antwort
Du kannst die Werte aus einer Tabelle in ein Array laden und dann die ComboBox mit einer Schleife befüllen.

2. Frage
Was ist der Unterschied zwischen Select Case und If...ElseIf?
Antwort
Select Case ist einfacher zu lesen, besonders bei vielen Bedingungen, während If...ElseIf flexibler für komplexe Bedingungen ist.

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