Thema Datum  Von Nutzer Rating
Antwort
Rot Combobox_Change für mehrere comboboxen in UF
05.01.2017 15:13:38 NetterGast
NotSolved
05.01.2017 15:29:52 genervterGast
NotSolved
06.01.2017 14:14:28 baboGast
NotSolved

Ansicht des Beitrags:
Von:
NetterGast
Datum:
05.01.2017 15:13:38
Views:
1298
Rating: Antwort:
  Ja
Thema:
Combobox_Change für mehrere comboboxen in UF

Hey =)
Sitze seit paar Tagen an einem Problem und komme nicht weiter. Habe bereits mehrere Lösungsansätze, die Google mir ausgespuckt hat, versucht...jedoch ohne Erfolg.
Ich habe in einem Userform viele Comboboxen. Der Inhalt der Comboboxen in der ersten Spalte werden über Userform_Inititalize() gefüllt, soweit kein Problem. Der Inhalt der Comboboxen in der zweiten Spalten ist jetzt allerdings abhängig vom Inhalt der ersteren. Folglich müsste ich jetzt für jede Combobox der ersten Spalte einen Change Code schreiben, was seeehr lang wird. Bisher sieht das alles so aus:
 

Private Sub UserForm_Initialize()

   For Each ctr In UserForm1.Controls
        If ctr.Name Like "CBSpalteA*" Then
            With ctr
                .AddItem "A"
                .AddItem "B"
                .AddItem "C"
                .AddItem "D"
                .AddItem "E"
                .AddItem "F"
                .AddItem "H"
            End With
        End If
    Next ctr

End Sub

Private Sub CBSpalteA1_Change()
    
    Dim index As Integer                      
    index = CBSpalteA1.ListIndex               
    
    CBSpalteB1.Clear
    
    Select Case index
        
        Case Is = 0                            
            With CBSpalteB1                          
                .AddItem "AA"                
            End With
         
        Case Is = 1                 
            With CBSpalteB1
                .AddItem "BB"
                .AddItem "CC"
                .AddItem "DD"
                .AddItem "EE"
                .AddItem "FF"
            End With
            
        Case Is = 2               
            With CBSpalteB1
                .AddItem "AB"
            End With
        
        Case Is = 3                
            With CBSpalteB1
                .AddItem "AC"
                .AddItem "AD"
                .AddItem "AE"
                .AddItem "AF"
            End With
            
        Case Is = 4                 
            With CBSpalteB1
                .AddItem "253"
                .AddItem "235"
                .AddItem "345"
            End With
            
        Case Is = 5                 
            With CBSpalteB1
                .AddItem "574"
                .AddItem "235"
                .AddItem "65"
            End With
            
        Case Is = 6                
            With CBSpalteB1
                .AddItem "363"
                .AddItem "24"
                .AddItem "53"
                .AddItem "75"
                .AddItem "586"
            End With

        End Select

End Sub

Das ganze würde jetzt noch bis CBSpalteA20 gehen, was einen ziemlich langen Code zur Folge hätte. Ich weiß, dass ich das irgendwie über ein Klassenmodul lösen kann, aber habe keien Ahnung wie. Alle meine Versuchen diesbezüglich scheiterten...
Vielleicht kann mir jemand behilflich sein =)
Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Combobox_Change für mehrere comboboxen in UF
05.01.2017 15:13:38 NetterGast
NotSolved
05.01.2017 15:29:52 genervterGast
NotSolved
06.01.2017 14:14:28 baboGast
NotSolved