Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

ComboBox | Herbers Excel-Forum


Betrifft: ComboBox von: Kai
Geschrieben am: 16.02.2012 16:32:49

Hallo zusammen,
heute schon meine Zweite Frage :-( die ich selbst nicht gelöst bekomme.

Ich habe eine Combobox, allerdings ist diese beim öffnen der Datei immer leer. Warum werden die verschiedenen Auswahlmöglichkeiten nicht angezeigt?

Private Sub ComboBox4_Change()
'Importiert die Daten aus der Auftragsstatistik Stützpunkte
    Dim arr As Variant
    arr = Array("auswählen", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", " _
August", "September", "Oktober", "November", "Dezember I", "Dezember II")
    ComboBox4.List = arr
    Select Case ComboBox4.Value
        Case "Januar"
        Call ImportJanuar
        Case "Februar"
        Call ImportFebruar
        Case "März"
        Call ImportMärz
        Case "April"
        Call ImportApril
        Case "Mai"
        Call ImportMai
        Case "Juni"
        Call ImportJuni
        Case "Juli"
        Call ImportJuli
        Case "August"
        Call ImportAugust
        Case "September"
        Call ImportSeptember
        Case "Oktober"
        Call ImportOktober
        Case "November"
        Call ImportNovember
        Case "Dezember I"
        Call ImportDezember1
        Case "Dezember II"
        Call ImportDezember2
    End Select
ComboBox4 = "auswählen"
Sheets("Verwaltung").Select
End Sub
Viele Grüße

kai

  

Betrifft: AW: ComboBox von: ransi
Geschrieben am: 16.02.2012 17:25:56

HAllo

Ich habe eine Combobox, allerdings ist diese beim öffnen der Datei immer leer. Warum werden die verschiedenen Auswahlmöglichkeiten nicht angezeigt?

Na weil niemand die ComboBox gefüllt hat.
;-)

Versuch mal sowas:

' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
    Dim arr
    arr = Array("auswählen", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember I", "Dezember II")
    With Sheets("TAbelle1").ComboBox4
        .List = arr
        .ListIndex = 0
    End With
End Sub


' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Private Sub ComboBox4_Change()
    Select Case ComboBox4.Value
        Case "Januar"
            Call ImportJanuar
        Case "Februar"
            Call ImportFebruar
        Case "März"
            Call ImportMärz
        Case "April"
            Call ImportApril
        Case "Mai"
            Call ImportMai
        Case "Juni"
            Call ImportJuni
        Case "Juli"
            Call ImportJuli
        Case "August"
            Call ImportAugust
        Case "September"
            Call ImportSeptember
        Case "Oktober"
            Call ImportOktober
        Case "November"
            Call ImportNovember
        Case "Dezember I"
            Call ImportDezember1
        Case "Dezember II"
            Call ImportDezember2
    End Select
    ComboBox4 = "auswählen"
    Sheets("Verwaltung").Select
End Sub



ransi

ransi


  

Betrifft: ComboBox beim Starten des UserForms befüllen von: NoNet
Geschrieben am: 16.02.2012 17:39:40

Hallo Kai,

WO befindet sich diese ComboBox denn ?
In einem Tabellenblatt ? - Formular-ComboBox oder Steuerelemente-Toolbox ?
In einem UserForm ?
Besitzt die ComboBox einen "verknüpften Bereich" (oder RowSource) oder wie sollte diese VORHER befüllt werden ?
In Deinem Code wird die ComboBox erst dann gefüllt, wenn ihr Inhalt GEÄNDERT wird - dazu müssen zuvor ja bereits einige Werte enthalten sein !

Zu Deinem Code : Dieser lässt sich sicherlich vereinfachen bzw. lesbarer gestalten !

Lesbarer :

    Select Case ComboBox4.Value
        Case "Januar":    Call ImportJanuar
        Case "Februar":   Call ImportFebruar
        Case "März":      Call ImportMärz
        Case "April":     Call ImportApril
        'etc. 
Oder sogar stark vereinfacht (nicht für JEDEN Monat eine eigene Import-Prozedur, sodern nur EINE für alle Monate) , hier wird die ComboBox bereits beim Starten des UserForms befüllt :
Dim arr As Variant

Private Sub UserForm_Activate()
'Importiert die Daten aus der Auftragsstatistik Stützpunkte
    arr = Array("auswählen", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", _
        "August", "September", "Oktober", "November", "Dezember I", "Dezember II")
    
    ComboBox4.List = arr
End Sub

Private Sub ComboBox4_Change()
    Dim lngP As Long
    lngP = Application.Match(ComboBox4.Value, arr, 0)
    If lngP > 1 Then import ComboBox4.Value

    ComboBox4.ListIndex = 0 ' "auswählen"
    'Sheets("Verwaltung").Select
End Sub

Sub import(strMonatsname)
    'Hier wird der ausgewählte Monat importiert
    MsgBox strMonatsname
End Sub
Gruß, NoNet


Beiträge aus den Excel-Beispielen zum Thema "ComboBox"