Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.ListBox3.Column(10, i) = Cells(lng, 10).Value

Forumthread: .ListBox3.Column(10, i) = Cells(lng, 10).Value

.ListBox3.Column(10, i) = Cells(lng, 10).Value
14.10.2016 15:20:08
Robert
Hallo Zusammen,
folgender Code befüllt eine Listbox mit Daten.
Sub Suchen_SupplierScoring_Gesamt()
Dim lng As Long
Dim i As Integer
Sheets("Datenerfassung").Activate
Application.ScreenUpdating = True
With frm_SupplierScoring
.ListBox3.Clear
frm_SupplierScoring.ListBox3.ColumnCount = 18
frm_SupplierScoring.ListBox3.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50;50; _
50;50;50"
i = 0
For lng = 2 To ActiveSheet.UsedRange.Rows.Count
If InStr(LCase(Cells(lng, 23).Value), LCase(.txt_Gesamt.Value)) > 0 Then
.ListBox3.AddItem Cells(lng, 1).Value
.ListBox3.Column(2, i) = Cells(lng, 2).Value
.ListBox3.Column(3, i) = Cells(lng, 3).Value
.ListBox3.Column(4, i) = Cells(lng, 4).Value
.ListBox3.Column(10, i) = Cells(lng, 10).Value
.ListBox3.Column(11, i) = Cells(lng, 11).Value
.ListBox3.Column(12, i) = Cells(lng, 12).Value
.ListBox3.Column(13, i) = Cells(lng, 13).Value
.ListBox3.Column(9, i) = Cells(lng, 9).Row
i = i + 1
End If
Next lng
End With
End Sub
Bis ".ListBox3.Column(4, i) = Cells(lng, 4).Value" funktioniert alles wunderbar. Wenn ich die nachfolgenden Zeilen mit 5 - 9 durch Nummeriere funktioniert ebenfalls alles nur aber sobald 10 und höher hinterlegt ist springt der Debugger an. Hat hier eine eine Lösung für mich?
Gruß Robert
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .ListBox3.Column(10, i) = Cells(lng, 10).Value
14.10.2016 15:40:56
Daniel
Hi
wenn du eine Listbox mit .AddItem befüllst, dann sind maximal 10 Spalten zulässig.
wenn du mehr Spalten brauchst, musst du zuerst ein zweidimensionales Array erstellen, welches alle Werte enthält und dieses dann der Listbox zuweisen:
hier mal der Code dazu im Prinzip (also bitte nicht kopieren, sondern lesen, verstehen und selber vollständig schreiben)
dim arrLB
Redim arrLB(0 to Worksheetfunction.countif(columns(23), "*" & .txt_gesamt.value & "*"), 0 to  _
AnzahlSpalten)
i = 0
For lng = 2 To ActiveSheet.UsedRange.Rows.Count
If InStr(LCase(Cells(lng, 23).Value), LCase(.txt_Gesamt.Value)) > 0 Then
arrLB(i, 0) = Cells(lng, 1).value
arrLB(i, 1) = Cells(lng, 2).value
arrLB(i, ?) = Cells(lng, ?).Value
i = i + 1
end if
Next
.Listbox3.List = arrLB
gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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