ListObjects Auflistung

Marius83

Grünschnabel
Hallo,

habe folgende Prozedur geschrieben, die auch lauffaehig ist:

Private Sub UserForm_Initialize()

Dim wert1 As Integer
Dim intletzteZeile As Integer
Const constSpaltennummer As Integer = 4
Const constZeileLetzterSchritt As Integer = 12

wert1 = Tabelle1.Range("A1:A1000").Find("end").Row
intletzteZeile = wert1 - 1

For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox1.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox2.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox3.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox4.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox5.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox6.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox7.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
ListBox8.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable

End Sub

Es muesste doch moeglich sein, dass mit Hilfe einer For Each ... Next Schleife und der ListObjects-Auflistung nicht mehr 8 mal dasselbe geschrieben werden muss:

For Each objListBox in ListObjects
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
objListBox.AddItem Cells(intZaehlvariable, constSpaltennummer).Value
Next intZaehlvariable
Next objListBox

Hatte mir das so gedacht, klappt aber nicht. Weiss jemand warum
Wie muss z.B. objListBox deklariert werden?
 
Was soll denn ListObjects sein?
Ansonsten könntest du auch sowas machen:
Visual Basic:
Dim strValue As String
For intZaehlvariable = constZeileLetzterSchritt To intletzteZeile
strValue = Cells(intZaehlvariable, constSpaltennummer).Value
ListBox1.AddItem strValue
ListBox2.AddItem strValue
ListBox3.AddItem strValue
ListBox4.AddItem strValue
ListBox5.AddItem strValue
ListBox6.AddItem strValue
ListBox7.AddItem strValue
ListBox8.AddItem strValue
Next intZaehlvariabl
Oder du verwendest die Controls-Auflistung der UserForm um damit alle ListBoxen zu ermitteln und um dann bei Jeder die AddItem-Methode aufzurufen.
 
Laut VBA-Hilfe stellt ListObjects eine Auflistung aller ListObject-Objekte in einem Arbeitsblatt dar. Dachte, ich koennte sowas auch innerhalb einer UserForm machen. Will damit eigentlich nur eine Verkuerzung der Prozedur erreichen, also am Besten so, dass z.B. mit jedem Schleifendurchlauf die naechste ListBox (innerhalb einer Auflistung) angesprochen wird.
 
Zurück