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

Kombinationfeld mittels Initialize-Prozedur

Kombinationfeld mittels Initialize-Prozedur
02.07.2004 14:11:47
René
Hallo Excel-User,
ich habe ein Formular mit 3 Kombinationsfelder, welche beim Aufruf des Formulars mittels folgenden Code befüllt werden.

Private Sub UserForm_Initialize()
With cboKunde
.AddItem "..."
.AddItem "..."
.AddItem "..."
.AddItem "..."
.AddItem "..."
End With
End Sub

Nun meine eigendliche Frage. Gibt es eine Möglichkeit das diese Kombinationsfelder beim Aufruf des Formulars Anhand der Daten einen Tabellenblattes (eine Spalte für ein Kominationsfeld) gefüllt werden? Begründung ist folgende, im Moment hat jedes der Kombinationsfelder Daten von 10 bis 50 Sätzen und es könnten immer noch welche dazu kommen. Wie man sich bestimmt schon vorstellen kann, ist die Prozedur jetzt schon ziehmlich lang und es wäre einfacher wenn ein neuer Satz für das Kominationsfeld dazukommt, dieses im Tabellenblatt (Spalte) zu hinterlegen als hier im Code.
Danke für die Tipp´s und Hilfe im Voraus.
René

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombinationfeld mittels Initialize-Prozedur
P@ulchen
Hi René,
ich verstehe nur Bahnhof... Willst Du die Comboboxen dynamisch einlesen, also entsprechend der Anzahl gefüllter Zellen einer Spalte oder was meinst Du ?
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
AW: Kombinationfeld mittels Initialize-Prozedur
02.07.2004 14:28:14
René
Hallo Paulchen,
ich weiß nicht genau wie ich das formulieren soll. Im Moment hat die erste Combobox 50 Zeilen, welche beim Aufruf des Formulars gelesen werden, also es steht da 50x .AddItem "blablabla". Die anderen beiden haben in etwa auch so viel. Da kann man sich vorstellen wie lang der Code ist. Dieses möchte ich vereinfachen das er sich die Daten von einer von (bsp. Tabelle1, SpalteA) holt.
René
Anzeige
AW: Kombinationfeld mittels Initialize-Prozedur
Ingo
Deine Daten sind in der Tabelle1 Spalte A:A von A1 abwärts:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 1
Do While Sheets(1).Cells(i, 1) <> ""
Me.cboKunde.AddItem (Sheets(1).Cells(i, 1))
i = i + 1
Loop
End Sub

m f G
Ingo Christiansen
AW: Kombinationfeld mittels Initialize-Prozedur
02.07.2004 14:37:00
René
Hallo Ingo,
genau dieses habe ich gemeint :)
Aber nochmal zur kontrolle, da ich 3 cboboxen füllen lassen möchte.

Private Sub UserForm_Initialize()
Dim i As Integer
i = 1
Do While Sheets("Daten").Cells(i, 1) <> ""
Me.cboKunde.AddItem (Sheets("Daten").Cells(i, 1))
i = i + 1
Loop
Do While Sheets("Daten").Cells(i, 2) <> ""
Me.cboFahrer.AddItem (Sheets("Daten").Cells(i, 2))
i = i + 1
Loop
Do While Sheets("Daten").Cells(i, 3) <> ""
Me.cboTour.AddItem (Sheets("Daten").Cells(i, 3))
i = i + 1
Loop
End Sub

Ich hoffe ich habe es richtig ergenzt.
Bitte nochmal überprüfen.
Danke René
Anzeige
AW: Kombinationfeld mittels Initialize-Prozedur
Ingo
Du musst zwischendurch, nachdem eine ComboBox abgearbeitet ist,die Variable i wieder zurüchsetzen auf 1:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 1
Do While Sheets("Daten").Cells(i, 1) <> ""
Me.cboKunde.AddItem (Sheets("Daten").Cells(i, 1))
i = i + 1
Loop
i = 1
Do While Sheets("Daten").Cells(i, 2) <> ""
Me.cboFahrer.AddItem (Sheets("Daten").Cells(i, 2))
i = i + 1
Loop
i = 1
Do While Sheets("Daten").Cells(i, 3) <> ""
Me.cboTour.AddItem (Sheets("Daten").Cells(i, 3))
i = i + 1
Loop
End Sub

AW: Kombinationfeld mittels Initialize-Prozedur
Ingo
Du musst zwischendurch, nachdem eine ComboBox abgearbeitet ist,die Variable i wieder zurüchsetzen auf 1:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 1
Do While Sheets("Daten").Cells(i, 1) <> ""
Me.cboKunde.AddItem (Sheets("Daten").Cells(i, 1))
i = i + 1
Loop
i = 1
Do While Sheets("Daten").Cells(i, 2) <> ""
Me.cboFahrer.AddItem (Sheets("Daten").Cells(i, 2))
i = i + 1
Loop
i = 1
Do While Sheets("Daten").Cells(i, 3) <> ""
Me.cboTour.AddItem (Sheets("Daten").Cells(i, 3))
i = i + 1
Loop
End Sub

Anzeige
Danke Für die schnelle Hilfe
02.07.2004 14:45:00
René
Danke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige