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

ComboBox einträge mit Modul verknüpfen

Forumthread: ComboBox einträge mit Modul verknüpfen

ComboBox einträge mit Modul verknüpfen
Chris
HY Leute...
ich habe ein UserForm inkl. ComboBox entworfen.
Per Klick auf ein Button öffnet er mir das Userform.
In der Liste stehen 12 Werte (Oktober - September)
Wenn ich Oktober anwähle und den Button "Importieren" klicke, soll er mein Modul Einlesen.Oktober ausführen und so weiter....
Momentan sieht mein Makro so aus:

Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
End Sub
Private Sub UserForm_Initialize()
Dim MyArray(1 To 13) As String
MyArray(1) = ""
MyArray(2) = "Oktober"
MyArray(3) = "November"
MyArray(4) = "Dezember"
MyArray(5) = "Januar"
MyArray(6) = "Februar"
MyArray(7) = "März"
MyArray(8) = "April"
MyArray(9) = "Mai"
MyArray(10) = "Juni"
MyArray(11) = "Juli"
MyArray(12) = "August"
MyArray(13) = "September"
cboMonate.List = MyArray
cboMonate.ListIndex = 0
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ComboBox einträge mit Modul verknüpfen
19.01.2011 14:01:03
Eugen
Hi Chris
private sub combobox1_Change()
select case combobox1.Value
case "Oktober"
call einlesen_oktober
usw
end select
Gruss Eugen
AW: ComboBox einträge mit Modul verknüpfen
19.01.2011 14:10:05
Chris
Hab es hinbekomme...
Hab es etwas abgeändert, aber dein Anstoss hat mir sehr geholen.
es sieht jetzt so aus:

Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()     'Meine Schaltfläche "Importieren"
Select Case cboMonate.Value     'Name meiner ComboBox
Case "Oktober"     'Name des ComboBox Eintrages
Call Einlesen.Oktober     'Name meines Makros
'usw
End Select
End Sub
Private Sub UserForm_Initialize()
Dim MyArray(1 To 13) As String
MyArray(1) = ""
MyArray(2) = "Oktober"
MyArray(3) = "November"
MyArray(4) = "Dezember"
MyArray(5) = "Januar"
MyArray(6) = "Februar"
MyArray(7) = "März"
MyArray(8) = "April"
MyArray(9) = "Mai"
MyArray(10) = "Juni"
MyArray(11) = "Juli"
MyArray(12) = "August"
MyArray(13) = "September"
cboMonate.List = MyArray
cboMonate.ListIndex = 0
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

ComboBox-Einträge mit Modul verknüpfen in Excel


Schritt-für-Schritt-Anleitung

Um eine ComboBox in einem UserForm mit einem Modul zu verknüpfen, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor.

    • Du kannst den Editor öffnen, indem du ALT + F11 drückst.
  2. Erstelle ein neues UserForm.

    • Füge eine ComboBox und zwei Schaltflächen (Importieren und Abbrechen) hinzu.
  3. Füge den folgenden Code in das UserForm ein:

    Private Sub cmdAbbrechen_Click()
       Unload Me
    End Sub
    
    Private Sub cmdOK_Click() 'Meine Schaltfläche "Importieren"
       Select Case cboMonate.Value 'Name meiner ComboBox
           Case "Oktober"
               Call Einlesen.Oktober 'Name meines Makros
           'usw. für andere Monate
       End Select
    End Sub
    
    Private Sub UserForm_Initialize()
       Dim MyArray(1 To 13) As String
       MyArray(1) = ""
       MyArray(2) = "Oktober"
       MyArray(3) = "November"
       MyArray(4) = "Dezember"
       MyArray(5) = "Januar"
       MyArray(6) = "Februar"
       MyArray(7) = "März"
       MyArray(8) = "April"
       MyArray(9) = "Mai"
       MyArray(10) = "Juni"
       MyArray(11) = "Juli"
       MyArray(12) = "August"
       MyArray(13) = "September"
       cboMonate.List = MyArray
       cboMonate.ListIndex = 0
    End Sub
  4. Verknüpfe die Module.

    • Stelle sicher, dass die entsprechenden Module für jeden Monat existieren, z.B. Einlesen.Oktober, um die gewünschten Daten zu importieren.

Häufige Fehler und Lösungen

  • Fehler: ComboBox zeigt keine Einträge an.

    • Lösung: Überprüfe, ob der Code im UserForm_Initialize korrekt ausgeführt wird. Achte darauf, dass die ComboBox den richtigen Namen hat.
  • Fehler: Der Import-Button funktioniert nicht.

    • Lösung: Stelle sicher, dass die Select Case-Anweisung die richtigen Werte verwendet und dass die entsprechenden Module korrekt definiert sind.

Alternative Methoden

Eine alternative Methode zur Verknüpfung von ComboBox-Einträgen könnte die Verwendung von Worksheet_Change-Ereignissen sein. Hierbei wird der Wert der ComboBox direkt mit einer Zelle auf einem Arbeitsblatt verbunden. Dies kann nützlich sein, wenn du die Eingaben dynamisch aktualisieren möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung einer ComboBox in einem UserForm:

Private Sub cmdOK_Click()
    If cboMonate.Value = "Januar" Then
        Call Einlesen.Januar
    ElseIf cboMonate.Value = "Februar" Then
        Call Einlesen.Februar
    End If
    ' Weitere Monate hinzufügen
End Sub

In diesem Beispiel wird geprüft, welcher Monat ausgewählt wurde, und das entsprechende Modul wird aufgerufen.


Tipps für Profis

  • Verwende Enum für die Monate: Um die Lesbarkeit und Wartbarkeit deines Codes zu verbessern, kannst du Enum verwenden, um die Monate zu definieren. Das erleichtert die Verwaltung deiner Makros.

  • Fehlerbehandlung einbauen: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Code auch bei unerwarteten Eingaben stabil bleibt.


FAQ: Häufige Fragen

1. Wie kann ich weitere Einträge zur ComboBox hinzufügen?
Du kannst die Array-Liste im UserForm_Initialize-Code erweitern, indem du zusätzliche Monate oder Werte hinzufügst.

2. Muss ich für jeden Monat ein eigenes Modul erstellen?
Ja, es ist empfehlenswert, für jeden Monat ein separates Modul zu erstellen, um die Funktionalität zu organisieren und den Code übersichtlich zu halten.

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