Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird

VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 07:00:49
Wolfgang
Hallo,
momentan habe ich eine Listbox, u. a. mit folgenden Einträgen, von denen der Anwender mehrere auswählen kann. Bei bestimmten Einträgen (nicht bei allen) sind aus einer ComboBox zusätzlich noch Angaben nötig (z. B. Monat/Jahr). Am Ende soll alles in ein Dokument ausgegeben werden, dann natürlich das ausgewählte Element aus der Listbox zusammen mit dem dazugehörigen Eintrag aus der ComboBox.
So sieht mein Code bisher aus (Auszüge):
Private Sub UserForm_Initialize()
With lst_Unterlagen
.AddItem "aktueller Grundsteuerbescheid"
.AddItem "Lohnzettel für die Monate ..."
.AddItem "...." ' weitere Items folgen
.ListStyle = fmListStyleOption
.MultiSelect = fmMultiSelectMulti
End With
Dim liVal As Integer
For liVal = 1 To 12
cbo_vonMonat1.AddItem Format("01." & liVal & "." & Year(Date), "MMMM")
cbo_bisMonat3.AddItem Format("01." & liVal & "." & Year(Date), "MMMM")
Next
For liVal = 2018 To 2030
cbo_vonJahr2.AddItem liVal
cbo_vonJahr4.AddItem liVal
Next
VG Marcus
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 07:03:58
Hajo_Zi
Hallo Marcus,
cbo_vonMonat.visible=Listbox1="Eingabe"
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?

AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 07:27:24
Wolfgang
Hallo Hajo,
vielen Dank für deine schnelle Antwort.
Ich wollte die Datei nicht verlinken, nur den Code mit den wesentlichen Auszügen zitieren.
VG
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 08:14:10
Hajo_Zi
Danke für die Rückmeldung.
Mein Vorschlag war also die Lösung.
Gruß Hajo
Anzeige
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 08:44:27
Wolfgang
Hallo Hajo,
leider kam ich mit deinem Vorschlag bislang noch nicht weiter. Kann aber auch an mir liegen.
VG
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 09:05:05
Oberschlumpf
Hi Wolfgang,
zeig uns doch mal - per Upload - eine Bsp-Datei mit dem Code, und wenn erforderlich, mit Bsp-Daten in der Tabelle.
Denn - bei welcher Auswahl in der Listbox - muss/müssen Einträge in der Combobox ausgewählt werden?
Mit dem, was du bis jetzt zeigst, kann zumindest auch ich noch nix anfangen.
Ciao
Thorsten
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 11:45:34
Wolfgang
Hallo zusammen,
vielen Dank für eure Bemühungen.
Ich lade mein bisheriges Werk mal hoch.
https://www.herber.de/bbs/user/133676.doc
VG
Anzeige
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 12:49:20
Hajo_Zi
Du bist im falschen Forum, dies ist kein Word Forum.
Gruß Hajo
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 13:06:10
Hajo_Zi
Du bist im falschen Forum, dies ist kein Word Forum.
Gruß Hajo
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
08.12.2019 17:30:08
Nepumuk
Hallo Wolfgang,
teste mal:
Option Explicit

Private Sub lst_1_Change()
    Dim lngIndex As Long
    Dim blnSelected As Boolean
    With lst_1
        For lngIndex = 1 To 3 Step 2
            If .Selected(lngIndex) Then blnSelected = True
        Next
    End With
    Call EnableComboBox(blnSelected)
End Sub

Private Sub UserForm_Initialize()
    
    Dim liVal As Long
    
    With lst_1
        .AddItem "aktuellen Rentenbescheid"
        .AddItem "Lohnzettel vom ... bis ..."
        .AddItem "aktuellen Kindergeldbescheid)"
        .AddItem "Arbeitslosengeld I/Arbeitslosengeld II-Bescheide über die Leistungsgewährung vom ... bis ..."
        .ListStyle = fmListStyleOption 'Felder zum Ankreuzen
        .MultiSelect = fmMultiSelectMulti 'mehrere Felder auswählbar
    End With
    With cbo_1
        .AddItem ""
    End With
    With cbo_2
        .AddItem ""
    End With
    With cbo_3
        .AddItem ""
        .AddItem "aktuell"
    End With
    With cbo_4
        .AddItem ""
    End With
    With cbo_5
        .AddItem ""
    End With
    With cbo_6
        .AddItem ""
    End With
    With cbo_7
        .AddItem ""
    End With
    With cbo_8
        .AddItem ""
    End With
    
    'füllt die ComboBoxen1,3,5,7 mit allen Monatsnamen
    For liVal = 1 To 12
        cbo_1.AddItem MonthName(liVal)
        cbo_3.AddItem MonthName(liVal)
        cbo_5.AddItem MonthName(liVal)
        cbo_7.AddItem MonthName(liVal)
    Next
    
    'füllt die ComboBoxen2,4,6,8 mit den Zahlen 2018 bis 2030
    For liVal = 2018 To 2030
        cbo_2.AddItem liVal
        cbo_4.AddItem liVal
        cbo_6.AddItem liVal
        cbo_8.AddItem liVal
    Next
    
    Call EnableComboBox(False)
    
End Sub

Private Sub cmd_Übertragen_Click()
    Dim Einkommen As String 'alle ausgewählten Elemente werden in einen Textstring geschrieben
    Dim i As Long
    For i = 0 To lst_1.ListCount - 1
        If lst_1.Selected(i) Then
            Einkommen = Einkommen & "-" & lst_1.List(i) & vbCr
        End If
    Next
    If lst_1.ListIndex = 2 Then
        ActiveDocument.FormFields("FF_von").Result = cbo_1
    End If
    ActiveDocument.FormFields("FF_Einkommen").Result = Einkommen
    Unload Me
End Sub

Private Sub EnableComboBox(ByVal pvblnEnable As Boolean)
    Dim lngIndex As Long
    For lngIndex = 1 To 8
        Controls("cbo_" & CStr(lngIndex)).Enabled = pvblnEnable
    Next
    If Not pvblnEnable Then
        For lngIndex = 1 To 8
            Controls("cbo_" & CStr(lngIndex)).ListIndex = -1
        Next
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
09.12.2019 07:27:15
Wolfgang
Hallo Nepumuk,
vielen Dank für deine Mühe. Ich habe den Code in mein Dokument kopiert. Leider erscheint der Monat dann aber nach den Unterlagen.
Leider kommt es bei VBA offenbar auch darauf an, welche Office-Anwendung man damit verbindet, hier im Forum geht es um Excel, wie Hajo ausführte, bei mir geht es aber um Word.
Ich habe mich hier durchaus wohl gefühlt und werde sicher auch in Zukunft öfters vorbeischauen, aber für meine vielen Fragen werde ich mich dann wohl woanders umschauen müssen.
VG Wolfgang
AW: VBA, ComboBox nur wenn bestimmter Eintrag in Listbox ausgewählt wird
09.12.2019 08:17:24
Nepumuk
Hallo Wolfgang,
der ListIndex einer ListBox beginnt mit 0. du fragst in der Ausgabe den falschen Index ab.
Gruß
Nepumuk
Anzeige

253 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige