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

ListBox Column-Count Error

Forumthread: ListBox Column-Count Error

ListBox Column-Count Error
16.02.2017 10:34:06
Thomas
Servus,
da mir hier schon einige mal geholfen wurde, dachte ich ich versuch es nochmal :)
Mit folgendem Code wird eine Txt-Datei in einer ListBox angezeigt. Die Txt-Datei hat als Trennzeichen Tabstopp. Da es sich um unterschiedliche Txt-Datein handelt variiert die Anzahl der Columns. Der Column-Count der ListBox wird automatisch angepasst.
Das funktioniert so weit ohne Probleme. Wenn die Txt-Datei allerdings mehr als 10 Columns besitzt bekomme ich immer den Laufzeitfehler 380 und folgender Code ist markiert
Me.ListBox2.List(Me.ListBox2.ListCount - 1, idx) = sCol(idx)
Ich stehe gerade ziemlich auf dem Schlauch und weiß nicht so richtig, woran das liegt. Es hat natürlich etwas mit dem Columncount zu tun, aber wie umgehe ich das?
Hier der vollständige Code des Subs:
Private Sub ListBox1_Click()        'Vorschau in ListBox2
Dim i As Integer
Dim idx As Integer
Dim intCounter As Integer
Dim strLine As String
Dim strList() As String
Dim ff As Long
Dim line As String
Dim sLine As String
Dim sCol() As String
i = FreeFile
Dim lbCol As String
ListBox2.Clear
For x = 1 To 10
UserForm1.Controls("cRow" & x).Value = False
UserForm1.Controls("cRow" & x).Visible = False
Next
If optTab.Value = True Then sepChar = vbTab
If optSemi.Value = True Then sepChar = ";"
If optComma.Value = True Then sepChar = ","
With ListBox1
If .ListIndex = -1 Then Exit Sub
If .Selected(.ListIndex) = False Then Exit Sub
sFile = .List(.ListIndex)
End With
Open Folder & "\" & sFile For Input As #i
Do While Not EOF(i)
Line Input #i, sLine
sCol = Split(sLine, sepChar)
Me.ListBox2.AddItem
For idx = LBound(sCol) To UBound(sCol)
ListBox2.ColumnCount = UBound(sCol) + 1
Me.ListBox2.List(Me.ListBox2.ListCount - 1, idx) = sCol(idx)
Next idx
Loop
Close #i
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox Column-Count Error
16.02.2017 10:38:08
Thomas
Okay,
etwa zu spät, aber ich habe gerade gesehen, dass über AddItem wohl nur max. 10 Spalten in einer ListBox eingefügt werden können. Muss ich wohl etwas anderes versuchen.
Ich lass die Frage aber trotzdem noch offen, falls jemand ne gute alternative kennt.
AW: ListBox Column-Count Error
16.02.2017 11:44:26
Rudi
Hallo,
sollte so gehen:
    Open Folder & "\" & sFile For Input As #i
Do While Not EOF(i)
Line Input #i, sLine
If Len(sLine) > 0 Then
vntText = vntText & vbCrLf & sLine
End If
Loop
vntText = Mid(vntText, 2)
vntText = Split(vntText, vbCrLf)
Close #i
ReDim arrText(UBound(vntText), UBound(Split(vntText(1), sepChar)))
For i = 0 To UBound(vntText)
arrTmp = Split(vntText, sepChar)
For j = 0 To UBound(arrTmp)
arrText(i, j) = arrTmp(j)
Next j
Next i
With ListBox1
.ColumnCount = UBound(arrText, 2) + 1
.List = arrText
End With
End Sub

Gruß
Rudi
Anzeige
AW: ListBox Column-Count Error
16.02.2017 13:12:58
Thomas
Servus, Danke für deine Antwort.
Leider bekomm ich immer eine Fehlermeldung. Ich denke mal, dass es an der Variablendeklaration liegt. Ich weiß nur nicht wie ich die Variablen vntText, j und arrTmp richtig deklarieren soll.
Grüße,
Thomas
AW: ListBox Column-Count Error
16.02.2017 14:31:38
Rudi
Hallo,
mein Fehler.
For i = 0 To UBound(vntText)
arrTmp = Split(vntText(i), sepChar)
Gruß
Rudi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige