Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Combobox im laufender Userform erweitern

Combobox im laufender Userform erweitern
03.01.2005 13:21:26
Reinhold
Schönen guten Tag,
ich habe ein Problem mit meiner Combobox in meiner Userform. Ich möchte bei einem laufenden Userform meine Combobox erweiter, dies soll so von standen gehen.
Ich habe 2 Comboboxen, Combobox1 hatt die Werte 1 bis 5, und Combobox2 soll je nach wert von Combobox1 Aktualisiert werden. Wenn z.B. in Combobox1 der wert 4 ausgewählt wird, soll Combobox2 eine auflistung von 0 bis 8 haben, wenn jetzt bei laufender Userform Combobox1 auf den Wert 2 umgestellt wird soll automatisch Combobox2 auf die zaheln von 0 bis 4 reduziert werden usw. gibt es eine Möglichkeit womit es zu schaffen ist?
Ich habe es folgendermaßen versucht:
Dim j As Integer
r = ComboBox1.Value
For j = 0 To 2 * r
UserForm1.ComboBox2.AddItem j, j
Next j
End Sub
nur bekomme ich so eine Fehlermeldung :-( kann mir jemand verraten wie ich es richtig machen kann?
Ich wäre für jede hilfe dankbar
Grüße
Reinhold

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox im laufender Userform erweitern
Klaus
Hallo Reinhold,
hier mal eine Vorlage:

Private Sub WerteErzeugen(Optional Anfang As Integer, Optional Ende As Integer, Optional Werte As Variant)
Dim intCounter As Integer
With ComboBox2
.Clear
If Not (IsMissing(Werte)) Then
.List = Werte
Else
For intCounter = Anfang To Ende
.AddItem intCounter
Next intCounter
End If
.ListIndex = 0
End With
End Sub


Private Sub ComboBox1_Change()
Select Case ComboBox1
Case 1 'Wenn ComboBox1 = 1 ...
WerteErzeugen Werte:=Array(1, 3, 7, 9) '...dann die Werte 1, 3, 7, 9 in CB2 erzeugen
Case 2 'Wenn ComboBox1 = 2 ...
WerteErzeugen Anfang:=0, Ende:=4 '...dann die Werte von 0 bis 4 in CB2 erzeugen
Case 3 'Wenn ComboBox1 = 3 ...
WerteErzeugen Werte:=Array(0, 5, 17, 21, 27, 30) '...dann die Werte 0, 5, 17, 21, 27, 30 in CB2 erzeugen
Case 4 'Wenn ComboBox1 = 4 ...
WerteErzeugen Anfang:=0, Ende:=8 '...dann die Werte von 0 bis 8 in CB2 erzeugen
Case 5 'Wenn ComboBox1 = 5 ...
WerteErzeugen Anfang:=3, Ende:=5 '...dann die Werte von 3 bis 5 in CB2 erzeugen
End Select
End Sub


Private Sub UserForm_Initialize()
'Alle Werte von 1 bis 5 in ComboBox1 erzeugen
ComboBox1.List = Array(1, 2, 3, 4, 5)
ComboBox1.ListIndex = 0
End Sub

Der Code ist etwas aufwändiger, dafür aber auch flexibler für andere Sachen einzusetzen.
Wenn du fortlaufende Zahlen benötigst, gib sie einfach, wie im Code vorgemacht, über die Argumente Anfang und Ende an, es wird mit diesen Werten eine Schleife erzeugt.
Wenn du verschiedene Zahlen benötigst, gib sie einfach als Array über das Argument Werte ein.
Die Prozedur WerteErzeugen(..) übernimmt die Behandlung der einzelnen Werte.
Viel Erfolg!
Gruß Klaus
Anzeige
Dankeee
04.01.2005 12:01:31
Reinhold
Klaus der Code ist super :-)
funktioniert einwandfrei hab eben gestestet und bau es gleich in meine Userform ein.
Du warst mir wirklich eine sehr große hilfe
wünsch dir noch ein Frohes Neues Jahr
gruß
Reinhold

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige