Herbers Excel-Forum - das Archiv

Daten in Combobox einlesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Daten in Combobox einlesen
von: Andreas

Geschrieben am: 31.03.2005 14:13:44
Servus,
habe in einer Tabelle eine Combobox die ich mit den Daten aus Spalte "A" aus Tabellenblatt "Kunden" füllen will. Leere Zellen dürfen keine angezeigt werden.

Private Sub ComboBox_Click()
Dim endup As Integer
Dim i As Integer
Worksheets("Kunden").Select             'Kundenliste einlesen
endup = Range("A65536").End(xlUp).Row
For i = 1 To endup
ComboBox1.AddItem (ActiveCell.Value)
Next i
Worksheets("Tabelle1").Activate
End Sub


Funtioniert leider nicht, wo ist der Fehler?
Gruss Andreas
Bild

Betrifft: AW: Daten in Combobox einlesen
von: Frank Domke

Geschrieben am: 31.03.2005 14:21:20
Hallo Andreas,
Deine Laufvariable wird nirgens berücksichtigt!
Hier eine Lösung:
Private Sub ComboBox_Click()
Dim curRow As Integer
Dim lastRow As Integer
Dim ws As Worksheet
Set ws = Worksheets("Kunden")
lastRow = ws.Cells.SpecialCells(xlCellTypeLastCell).Row
ComboBox1.Clear
For curRow = 1 To lastRow
If Len(ws.Range("A" & curRow).Text & "") > 0 Then
ComboBox1.AddItem ws.Range("A" & curRow).Text
End If
Next
Set ws = Nothing
End Sub

Viel Spaß
Frank.
Bild

Betrifft: Noch ne Frage an Frank
von: Andreas

Geschrieben am: 31.03.2005 14:44:57
Danke Frank für die Lösung, funktionier gut, vielleicht hast du dazu auch so ne schnelle Lösung.
Und zwar bei Kunden die noch nicht in der Liste vorhanden sind, wird der Namen in der Combobox direkt eingegeben und wird durch Click auf CommandButton in die Tabelle "Kunden" in die nächste Freie Zelle in Spalte "A" eingetragen und alphabetisch sortiert.
Private Sub CommandButton1_Click()
Dim endup As Integer
'hier benuetze ich einen CommandButton, um Namen hinzuzufuegen
'sortiert wirds auch gleich alphabetisch
Worksheets("Kunden").Select
Range("A:A").End(xlUp).Row
Range("A" & endup + 1).Activate
ActiveCell.Value = ComboBox1.Value
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Worksheets("Tabelle1").Select
End Sub


habe auch hier so meine Probleme, du ja vielleicht nicht.
Gruss Andreas
Bild

Betrifft: AW: Noch ne Frage an Frank
von: Frank Domke

Geschrieben am: 31.03.2005 17:37:19
Hallo Andreas,
das Prinzip ist ähnlich:
Private Sub CommandButton1_Click()
Dim lastRow As Integer
Dim ws As Worksheet
Set ws = Worksheets("Kunden")
lastRow = ws.Cells.SpecialCells(xlCellTypeLastCell).Row
ws.Range("A" & lastRow + 1).Text = ComboBox1.Value
ws.Range.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Set ws = Nothing
End Sub

Das Sortieren habe ich jetzt nicht getestet, sollte aber klappen.
Viel Erfolg
Frank.
 Bild
Excel-Beispiele zum Thema "Daten in Combobox einlesen"
ComboBox als Symbol Alle ComboBoxes auf Position 1
Werte in eine ComboBox einer UserForm übernehmen ComboBox in Abhängigkeit einer 2. ComboBox ein-/ausblenden
ComboBox mit Monatsnamen füllen Mehrspaltige ComboBox
ComboBox2 in Abhängigkeit von ComboBox1 bestücken Nur Zellen mit Inhalt in ComboBox listen
Neue UserForm bedingt nach ComboBox-Auswahl aufrufen Neues Element in ComboBox