Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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 Füllen

ListBox Füllen
Ralf
Hallo Forum
Fülle meine Listbox mit fogenden Code , nun meine Frage , gibt es eine möglichkeit die Zeilenanzahl in der
Listbox an der Zeilenanzahl des Tabellenblatt anzupassen . Z.B wenn ich 45 belegte Zeilen habe das die Listbox variabel darauf reagiert , oder muss ich das jedesmal anpassen ?
Public Sub UF3ListBox1Füllen()
Dim lnglast
Dim lngRow
UserForm3.ListBox1.Clear
UserForm3.ListBox1.ColumnCount = 10
UserForm3.ListBox1.ColumnWidths = "80;70;90;100;140;70;70;80;130;60"
UserForm3.ListBox1.TextAlign = fmTextAlignLeft
With ActiveSheet
lnglast = Application.Max(30, .Cells(Rows.Count, 1).End(xlUp).Row)
For lngRow = 2 To lnglast
UserForm3.ListBox1.AddItem .Cells(lngRow, 20)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 1) = .Cells(lngRow, 21)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 2) = .Cells(lngRow, 23)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 3) = .Cells(lngRow, 24) & " " & .Cells(lngRow, 25)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 4) = .Cells(lngRow, 26) & " " & .Cells(lngRow, 27)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 5) = .Cells(lngRow, 28)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 6) = .Cells(lngRow, 29)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 7) = .Cells(lngRow, 31)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 8) = .Cells(lngRow, 33)
UserForm3.ListBox1.List(UserForm3.ListBox1.ListCount - 1, 9) = .Cells(lngRow, 38)
Next
UserForm3.ListBox1.ListIndex = 0
End With
Gruss Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Hallo Ralf
25.01.2012 20:41:08
Dirk
wenn ich dich richtig verstehe möchtest du die anzahl der gefüllten zellen als max für deine ListBox ermittel, diese in einer Variable speichern und bei .ColumnCount eintragen?
(ich glaub das war die Zeilenanzahl oder?)
ich denke die schönste lösung ist, da ich davon ausgehe das die die auch in der Listbox listen willst, den bereich in ein array zu lesen und dann mit ubound
so ungefähr
Dim zd As Variant
zd = ActiveSheet.Range("a1", Range("a1").End(xlDown))
i = UBound(zd)
MsgBox (i)
gruß
Dirk
AW: Hallo Ralf
26.01.2012 19:32:11
Ralf
Hallo Dirk , Hallo Forum
Kenn mich mit array und ubound gar nicht aus und weiss nicht was ich damit machen soll !
Ich lese von Zeile2 Zelle t bis ag ein , er sucht solange bis die zb Zeile 30 Zelle T leer ist ,
und das liest er mir in die Listbox ein . Mein Problem über Application.Max(30,) gebe ich die
Zeilenanzahl in der Listbox vor , wenn ich jetzt zb bis Zeile 45 Werte eingtragen habe muss
ich Application.Max Wert ändern . Das wollte ich eventuell mit Variable machen , aber keine
Ahnung wie .
Gruss Ralf
Anzeige
Hallo Ralf
26.01.2012 20:34:46
Dirk
Hallo Ralf
mach mal folgendes
erstelle ein neues Makro und schreibe da das hinnein
i = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox (i)

wie du feststellen wirst ist i = anzahl ausgefüllte Zellen
Gruß
Dirk
AW: Hallo Ralf
27.01.2012 16:37:27
Ralf
Hallo Dirk , Hallo Forum
Erstmal Danke für deine Hilfe . Hab es jetzt verstanden , was lange währt wird gut .
Funktioniert so wie Ich es wollte .
Gruss Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige