Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leerzeilen beim Einlesen in ListBox ignorieren

Leerzeilen beim Einlesen in ListBox ignorieren
21.09.2007 20:23:00
Heiner
Guten Abend Forum,
ich habe ein Problem beim Einlesen von Zeilen (Spalten B, D:F) der Tabelle1 in die ListBox1 meiner UserForm1.
Es werden leider alle Zeilen eingelesen, sowohl die mit Werten gefüllten, wie auch die Leerzeilen.
Ist es möglich, nur die mit Wert gefüllten Zellen einzulesen?
Für einen Beispiel-Code wäre ich sehr dankbar.
Grüsse, Heiner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen beim Einlesen in ListBox ignorieren
21.09.2007 20:36:43
Renee
Hello Heiner,
Ja das ist möglich.
Was ist das für ein Typ Listbox (Steuerelement oder Formular) und wo (direkt auf Blatt oder Userform) befindet sie sich ? Was hast du bis jetzt für einen Code, bzw. WIE überträgst du die Daten jetzt ?
GreetZ Renee

AW: Leerzeilen beim Einlesen in ListBox ignorieren
21.09.2007 20:39:00
Leser
"...Zeilen (Spalten B, D:F) der Tabelle1 in die ListBox1 meiner UserForm1."

wer lesen kann, hat Vorteile ;-) owT
21.09.2007 20:44:00
Renee

AW: Leerzeilen beim Einlesen in ListBox ignorieren
Heiner
Hallo Renee,
die ListBox befindet sich in der UserForm1.
Der Code zum Einlesen (noch nicht ganz komplett...):

Private Sub UserForm_Activate()
With ListBox1
.ColumnWidths = "50;100;60;0"
.ColumnCount = 4
End With
End Sub



Private Sub UserForm_Initialize()
Dim arr() As Variant
Dim i As Integer
Dim iRow As Integer
Dim iAnz As Integer
With Sheets("Tabelle1")
iAnz = WorksheetFunction.CountA(.Range("b4:f500"))
ReDim arr(0 To iAnz - 1, 0 To 4)
iRow = 0
For i = 4 To 500
If .Cells(i, 2).Value  "" Then
arr(iRow, 0) = .Cells(i, 2)
arr(iRow, 1) = .Cells(i, 5)
arr(iRow, 2) = .Cells(i, 4)
iRow = iRow + 1
End If
Next
End With
ListBox1.List = arr
End Sub


Hast Du eine Idee?
Grüsse, Heiner

Anzeige
AW: Leerzeilen beim Einlesen in ListBox ignorieren
21.09.2007 21:10:52
Renee
Hello Heiner,
Probier's mal so:

Private Sub UserForm_Initialize()
Dim lRow As Long
Dim lastRow As Long
ListBox1.Clear
lastRow = Sheets("Tabelle1").Range("B" & Sheets("Tabelle1").Rows.Count).End(xlUp).Row
For lRow = 1 To lastRow
If Sheets("Tabelle1").Cells(lRow, 2)  "" Then
ListBox1.AddItem (Sheets("Tabelle1").Cells(lRow, 2))
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Tabelle1").Cells(lRow, 4)
ListBox1.List(ListBox1.ListCount - 1, 3) = Sheets("Tabelle1").Cells(lRow, 5)
End If
Next lRow
End Sub


GreetZ Renee

Anzeige
AW: Leerzeilen beim Einlesen in ListBox ignorieren
Renee
Hi again,
Ich bin nicht sicher, ob deine Listbox einen Columncount von 3 oder 4 hat.
Mein Code funktioniert für eine 4spaltige.
Für eine 3spaltige diesen Teil ersetzen:

ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Tabelle1").Cells(lRow, 4)
ListBox1.List(ListBox1.ListCount - 1, 2) = Sheets("Tabelle1").Cells(lRow, 5)


Schönen Abend noch
Renee

AW: Leerzeilen beim Einlesen in ListBox ignorieren
21.09.2007 21:28:00
Heiner
Hallo Renee,
genau das war es! Vielen Dank!
Happy Weekend,
Heiner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige