Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] freie Wahl von ListBox oder TextBox
#11
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.
Antworten Top
#12
Verzichte auf rowsource.

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


Angehängte Dateien
.xlsb   __combobox Rabe.xlsb (Größe: 15,82 KB / Downloads: 9)
Antworten Top
#13
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.
Antworten Top
#14
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste