ich habe diesmal kein Problem, aber ein merkwürdiges Phänomen im Verhalten einer Listbox (wieder-)entdeckt.
Ausgangssituation
Ich erstelle ein UserForm und darauf eine ListBox und eine Combobox. Die Combobox enthält eine Auflistung von Tabellenblättern. Wenn ich einen Eintrag wähle, wird der Inhalt der Tabelle in die Listbox eingelesen (Der Einfachheit halber ein Rangebereich mit 9x9 Zeilen und Spalten).
Der Code
Dim varRange As Variant
varRange = Tabelle.Range("A1:I9")
With ListBox1
.ColumnCount = 9
.List = varRange
End With
Das Problem
Wenn ich nun diese ListBox nachträglich mit einem anderen Array mittels Schleifen befüllen will, dass auch noch eine andere Dimension hat, dann erscheint der Laufzeitfehler 380 (auch wenn .ColumnCount entsprechend angepasst und die ListBox vorher mit .Clear bereinigt wird).
Lese ich hingegen das Array varRange ebenfalls über eine Schleife ein, funktioniert es ohne Probleme.
Ich habe den Code stark verkürzt, da ich gerade an einem größeren Projekt arbeite.
Vielleicht findet sich ein Profi, der es mir erklären kann. :)
Grüße
Erik