Clever-Excel-Forum

Normale Version: [VBA] freie Wahl von ListBox oder TextBox
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi atilla,

(16.02.2016, 15:05)atilla schrieb: [ -> ]erkennst Du, was hier passiert:

heißt das, daß für jede belegte Zeile > 1 ein Mal die ComboBox gefüllt wird, es also reichen würde, zu schreiben:

Code:
loLetzte = objWs.Cells(Rows.Count, 1).End(xlUp).Row                     ' letzte belegte in Spalte A (1)
        ComboBox1.RowSource = "Datenbankliste!H2:H" & loLetzte
ohne For und If,
oder
Code:
For Each objZeile In objWs.UsedRange.Rows
     If objZeile.Row > 1 Then
        ComboBox1.RowSource = "Datenbankliste!H" & objZeile.Row
     End If
  Next objZeile

?

[getestet]
OK, das erste geht so, aber das zweite bringt nur die letzte Zeile.
Verzichte auf rowsource.

Schau mal:  http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html
Hi,

(16.02.2016, 16:03)snb schrieb: [ -> ]Verzichte auf rowsource.

Schau mal:  http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html

Was gibt es für Nachteile, wenn ich nicht das RowSource durch z.B. List ersetze?

Wenn ich aus Deinem Link z.B.
ComboBox1.List = Tabelle3.Cells(2, 8).Resize(loLetzte).Value
verwende, wird beim Tippen der Nummer diese nicht autovervollständigt, bei RowSource schon.
Hallo Ralf,

mit der Rohsoße lässt sich eine Listbox zuweilen und für Einsteiger leichter handeln.

Erste Frage wäre für mich, ob die Daten überhaupt in Zellen vorliegen. Manchmal bastelt man sich ja auch Listen aus irgendwelchen Abfragen oder einzelnen oder externen Daten. Da müsste man die erst in zusammenhängende Zellen schreiben, bevor man eine RowSource anwenden kann. Da würd ich eher keinen RowSource verwenden.

Ansonsten ist es für mich auch wie mit Zellbereichen und Arrays. In Arrays zu arbeiten geht meist schneller. Ändert man laufend in Zellbereichen, muss man wieder nach Berechnungsvorgängen schauen usw. usf.

Ist also bei "kleinen" Anwendungen eher Ansichtssache, bei großen sollte man auch nach der Performance schauen. Wenn man zudem die Listbox mit Zellwerten über eine Schleife füllt, ist das auch eher kontraproduktiv.
Hi André,

(19.02.2016, 18:25)schauan schrieb: [ -> ]mit der Rohsoße lässt sich eine Listbox zuweilen und für Einsteiger leichter handeln.

Erste Frage wäre für mich, ob die Daten überhaupt in Zellen vorliegen.
[...]
Ist also bei "kleinen" Anwendungen eher Ansichtssache, bei großen sollte man auch nach der Performance schauen. Wenn man zudem die Listbox mit Zellwerten über eine Schleife füllt, ist das auch eher kontraproduktiv.

ok,
+ sie liegen in Zellen vor.
+ es ist eine kleine Anwendung
- die Listbox wird über eine Schleife gefüllt
Seiten: 1 2