Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox in UserForm

ComboBox in UserForm
05.10.2007 11:30:12
Heiko
Hallo Leute ich hoffe mir hier Hilfe bei einer für Euch wohl kleinen Sache.
Also Grundlage: VBA-Programm mit einer Userform in der 20 ComboBoxen (cb1-cb20) drinnen sind.
Der Inhalt der CB basiert auf dem Tabellenblatt1 A1:A22. Über userform_initialize funktioniert auch soweit alles wunderbar.
Die Eingaben und Auswahlen der Userform stehen nachher in einer Excel-Tabelle.
Beim Rückschreiben der Daten aus der Tabelle (Scheleifenfunktion) in die Userform habe ich ein Problem mit den CB.
Durchlaufe ich den Code schrittweise (F8) oder setze einen Haltepunkt in die Schleife ein, dann zeigen mir die CB auch den jeweils zugehörigen korrekten Wert an. Lasse ich es durchlaufen, dann bekomme ich nur den Wert für die cb1, die anderen cb2-cb20 bleiben leer. Ich bekomme sogar ein korrektes Ergebnis wenn ich vor dem "Next i" ein MsgBox(kat(1), kat(2), kat(3)) einschiebe.
Hier mal das Codestück
menge(i), gegenstand(i), kat(i) enthalten die jeweiligen Daten, sie werden unmittelbar vorher aus der Tabelle ausgelesen. kat(i) enthält eben eins der möglichen 22 Wörter aus der Auswahlliste.
For i = 1 To 20
Dialdatenkorr.Controls("menge" & i).Text = menge(i)
Dialdatenkorr.Controls("gegenstand" & i).Text = gegenstand(i)
Dialdatenkorr.Controls("ComboBox" & i).Text = kat(i)
Next i
Ich hoffe ihr könnt mir diese Merkwürdigkeit erklären.
Grüße zum Wochenende
Heiko

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox in UserForm
05.10.2007 13:44:00
fcs
Hallo Heiko,
evtl. sind die Auswahllisten der ComboBoxen doch nicht korrekt intialisiert.
Setze bei der Combobox die Value-Eigenschaft, nicht die Text-Eigenschaft, evtl. Hilft es.
Gruß
Franz

AW: ComboBox in UserForm
08.10.2007 07:43:11
Heiko
hi fcs,
dein Vorschlag klappt leider nicht. Wenn ich .Value setze bekomme ich einen Typenkonflikt.
Ich glaube ich werde das Teil wirklich mal verschlankt hochladen.
Gruß zum Montagmorgen
Heiko

AW: ComboBox in UserForm
06.10.2007 12:47:44
Jan
Hi,
lad mal ein verschlanktes Beispiel hoch.
mfg Jan

AW: ComboBox in UserForm
08.10.2007 09:08:00
Heiko
Nachdem ich jetzt eine ganze Weile damit vergeblich herumgeplagt habe es zu verschlanken, habe ich mich noch einmal selber drangesetzt.
Habe auch eine Lösung hinbekommen, die mit Sicherheit unelegant ist aber zunächst erstmal funzt.
Das Problem liegt scheinbar in folgendem:

Private Sub userform_initialize()
For i = 1 To 20
'Aufbau der Listenfelder
Dialdatenkorr.Controls("ComboBox" & i).ListRows = 22
Dialdatenkorr.Controls("ComboBox" & i).ColumnCount = 22
Dialdatenkorr.Controls("ComboBox" & i).RowSource = "Tabelle1!a1:a24"
Dialdatenkorr.Controls("ComboBox" & i).ControlSource = "Tabelle1!b" & i  
Dialdatenkorr.Controls("ComboBox" & i).BoundColumn = 0
Dialdatenkorr.Controls("ComboBox" & i).ListIndex = 0
Next i
End Sub


Damit baue ich die Userform auf, besser die ComboBoxen der Userform.
Nachdem ich die Werte für kat(i) alle ausgelesen habe, habe ich sie zunächst mit Hilfe der Select...Case-Anweisung mit allen möglichen Werten der ComboBox verglichen und die entsprechende Listenposition zugeordnet (1-22). Diese Zahl(en) habe ich dann eben in Tabelle1,Spalte"B" zurückgeschrieben und seit dem funzt es einwandfrei.
Weiss zwar nicht wieso, aber egal.
Und danke für Eure Hilfsangebote...
Gruß Heiko

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige