Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox mit mehr als 10 Spalten

Listbox mit mehr als 10 Spalten
22.07.2014 15:20:06
Jens

Hallo zusammen,
ich hab mal wieder eine Frage.
Ich fülle mit diesem Makro eine Listbox und musste jetzt feststellen das nach 10 Spalten leider Schluss ist.
Ich bräuchte aber mindestens 25 Spalten. Ist diese möglich und wenn ja wie.

Private Sub ComboBox1_Change()
Dim lz As Long
Dim rngcell As Range
Dim strFirstAddress As String
lz = Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Daten").Range("P1:P" & lz)
Me.ListBox1.Clear
Set rngcell = .Find(StartUF.ComboBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngcell Is Nothing Then
strFirstAddress = rngcell.Address
Do
If rngcell.Offset(0, 32).Value = ÜbersichtUF.ComboBox1.Value Then
If rngcell.Offset(0, 32).Value = "40" Then
With Me.ListBox1
.ColumnCount = 10
.AddItem
.List(.ListCount - 1, 0) = rngcell.Offset(0, -15).Value
.List(.ListCount - 1, 1) = rngcell.Offset(0, 1).Value
.List(.ListCount - 1, 2) = rngcell.Offset(0, 36).Value
.List(.ListCount - 1, 3) = rngcell.Offset(0, 37).Value
.List(.ListCount - 1, 4) = rngcell.Offset(0, 38).Value
.List(.ListCount - 1, 5) = rngcell.Offset(0, 39).Value
.List(.ListCount - 1, 6) = rngcell.Offset(0, 40).Value
.List(.ListCount - 1, 7) = rngcell.Offset(0, 41).Value
.List(.ListCount - 1, 8) = rngcell.Offset(0, 42).Value
.ColumnWidths = "2cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm;1cm"
End With
End If
Set rngcell = .FindNext(rngcell)
Loop While Not rngcell Is Nothing And rngcell.Address <> strFirstAddress
End If
End With
End Sub

Ich hoffe ihr könnt mir wie immer helfen.
Vielen Dank im vorraus.
Jens

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox mit mehr als 10 Spalten
22.07.2014 15:23:35
Hajo_Zi
Hallo Jens,
nur gebundene Liste, also Zuweisung des kompletten Bereiches.

AW: Listbox mit mehr als 10 Spalten
22.07.2014 15:30:30
Nepumuk
Hallo,
da liegt Hajo falsch.
Du kannst über die List- oder Columns-Eigenschaft beliebig große Arrays an eine Listbox übergeben. Ich hab zum testen mal eine angelegt mit 50.000 Spalten und 10.000.000 Zeilen, also erheblich mehr als ein komplette Exceltabelle. Dauert zwar ein bisschen bei der Größe aber sonst kein Problem.
Gruß
Nepumuk

AW: Listbox mit mehr als 10 Spalten
22.07.2014 15:32:44
Hajo_Zi
Hallo Nepumuk,
ich vermute mal Du hast das Array komplett zugewiesen, wie ich auch schon geschrieben hatte und nicht jede Spalte einzeln.

Anzeige
AW: Listbox mit mehr als 10 Spalten
22.07.2014 16:53:46
Jens
Danke für die schnellen Antworten.
Nur kann ich mir nicht vor stellen was ich an meinen Makro genau ändern muss.
Die Daten stehen leider nicht alle untereinander und nebeneinander.
Versteh das richtig das es dann nicht funktioniert?

AW: Listbox mit mehr als 10 Spalten
22.07.2014 16:56:51
Hajo_Zi
doch so wie Nepumuk geschrieben hat, schreibe es in ein Array und weise dieses dem Steuerelement zu.
Gruß Hajo

AW: Listbox mit mehr als 10 Spalten
22.07.2014 17:15:33
Daniel
du kannst auch so vorgehen:
filtere die Daten, so dass nur die gewünschen Zeilen sichtbar sind und kopiere dann die werte in ein leeres Blatt (auch nur die erforderlichen Spalten)
dort stehen dann alle Werte, die in die Listbox sollen, als kompakte Tabelle, welche du mit
Listbox1.List = Sheets("Zwischenspeicher").Cells(1,1).CurrentRegion.Value
auf einen Schlag in die Listbox übernehmen kannst
Gruß Daniel

Anzeige
AW: Listbox mit mehr als 10 Spalten
22.07.2014 17:33:38
Jens
Danke noch mal.
Hajo deine Variante klingt relativ einfach.
Nur hab ich keine Ahnung wie ich es anfangen soll.
Könntest du vllt. in mein Makro mal ein Bsp. einfügen wie ich ein Array erstelle.

AW: Listbox mit mehr als 10 Spalten
22.07.2014 19:21:35
Ewald
Hallo,
zum Verständnis mal eine einfache Lösung wie du ein Array füllst und dann übergibst.

Dim Daten(6, 1) 'Array-Variable dimensionieren : 7 Zeilen, 2 Spalten
For z = 0 To 6
Daten(z, 0) = Cells(z + 2, 6) 'Daten aus Spalte F
Daten(z, 1) = Cells(z + 2, 7) 'Daten aus Spalte G
Next
ComboBox1.Clear 'Combobox-Inhalte löschen
ComboBox1.List() = Daten 'Wertte aus Array-Variable zuweisen 
Daten ist das Array und statt Combobox1.List dann Listbox1.List
hoffe das hilft.
Gruß Ewald

Anzeige
AW: Listbox mit mehr als 10 Spalten
22.07.2014 19:28:53
Jens
Danke Ewald,
Das Probier ich aus sieht verständlich aus.
Nur eine Frage müssen Zeilen und Spalten genau feststehen oder kann man diese auch variable gestalten.
Danke für die schnelle Antwort.

AW: Listbox mit mehr als 10 Spalten
23.07.2014 13:50:44
Ewald
Hallo Jens,
das geht auch variabel, du mußt nur vorher die Zeilen zählen in denen deine zwei Kriterien zutreffen.
die Spalten sollen ja fest sein (26)
mit den 2 Werten kannst du dann dein Array dimensionieren
Gruß Ewald

AW: Listbox mit mehr als 10 Spalten
23.07.2014 17:14:02
Jens
Danke Ewald,
für deine Hilfe, hab mein Problem lösen können.
Auch vielen Dank allen anderen die hier immer fleißig mit Rat und Tat helfen.

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige