Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listboxformatierung & dynamischer RowSource

Forumthread: Listboxformatierung & dynamischer RowSource

Listboxformatierung & dynamischer RowSource
11.03.2005 11:01:42
Andre
Hi zusammen,
mit folgendem Code (teilweise ein Tip aus diesem Forum, danke!) wird dem Betrachter vorgegaukelt die Listbox sei sowohl links- als auch rechtsbündig formatiert (nur bei Schriftart "Courier New"!).

Private Sub UserForm_Activate()
With Worksheets("Tabelle1")
'LetzteZeileListe = .Cells(Cells.Rows.Count, 2).End(xlUp).Row
Dim arr(1 To 65536, 2 To 7)
Dim iRow As Integer, iCol As Integer
For iRow = 1 To LetzteZeileListe
For iCol = 2 To 7
If iCol = 4 Then
arr(iRow, iCol) = String(8 - _
Len(Cells(iRow, iCol).Text), " ") & _
Cells(iRow, iCol).Text
Else
arr(iRow, iCol) = Cells(iRow, iCol)
End If
Next iCol
Next iRow
ListBox1.List = arr
ListBox1.ColumnCount = 6
ListBox1.ColumnHeads = False
ListBox1.ColumnWidths = "2,2cm;2cm;6cm;1,8cm;2,2cm;0,2cm"
End With
End Sub

Läuft auch klasse, aber mein Problem ist: nun kann ich die RowSource-Eigenschaft meiner Listbox nicht mehr dynamisch einstellen, da ich die Zeilennummer, die ich durch 'LetzteZeileListe' ermittle nicht an mein Array übergeben kann.
Weiß jemand Rat, wie ich meiner Listbox dennoch beibringen könnte, nur den Bereich bis zur letzten nicht leeren Zeile darzustellen?
Gruß Andre
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listboxformatierung & dynamischer RowSource
11.03.2005 11:28:47
Andre
Ok, etwas weiter bin ich schon:
Ich ergänze forlgendes:
If arr(iRow, 2) "" Then
ListBox1.AddItem (arr(iRow, 4))
End If
Aber so kann ich nur einen Wert in die Listbox einfügen, nicht aber die ganze Zeile.
Steh etwas auf dem Schlau!
AW: Listboxformatierung & dynamischer RowSource
11.03.2005 13:47:17
Andre
Erledigt, hier ist die Lösung zu meinem Problem:

Private Sub UserForm_Activate()
With Worksheets("Tabelle1")
LetzteZeileListe = .Cells(Cells.Rows.Count, 2).End(xlUp).Row
Dim arr(1 To 65536, 2 To 7)
Dim iRow As Integer, iCol As Integer
For iRow = 1 To LetzteZeileListe
For iCol = 2 To 7
If iCol = 4 Then
arr(iRow, iCol) = String(8 - _
Len(Cells(iRow, iCol).Text), " ") & _
Cells(iRow, iCol).Text
Else
arr(iRow, iCol) = Cells(iRow, iCol)
End If
Next iCol
ListBox1.AddItem (arr(iRow, 2))
If iRow = 1 Then
ListBox1.List(0, 1) = (arr(1, 3))
ListBox1.List(0, 2) = (arr(1, 4))
ListBox1.List(0, 3) = (arr(1, 5))
Else
ListBox1.List(iRow - 1, 1) = (arr(iRow, 3))
ListBox1.List(iRow - 1, 2) = (arr(iRow, 4))
ListBox1.List(iRow - 1, 3) = (arr(iRow, 5))
End If
Next iRow
ListBox1.ColumnCount = 6
ListBox1.ColumnHeads = False
ListBox1.ColumnWidths = "2,2cm;2cm;6cm;1,8cm;2,2cm;0,2cm"
End With
End Sub

Gruß Andre
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige