ich habe folgenden Code im Internet gefunden. Leider verstehe ich diesen nicht ganz, auch benötige ich die spalten 86 und 87 nicht. Der Code soll eine Listbox füllen aus dem Tabellenblatt Kundensuche. Das macht er auch und es funktioniert auch. Jedoch wird in der Listbox das Zeilumbruch Zeichen angezeigt.
Kann mir jemand helfen wie ich in den Code eine replacefunktion mit Chr$(13) einbauen kann. Das Zeilenumbruchzeichen taucht in der Listbox nur in Listindex also listcount 1 und 2 auf.
Private Sub CommandButton1_Click()
Dim quelle As Object
Dim daten, zeiten
Dim zeile As Long, ende As Long, spalte As Long, eintrag As Long
Dim wert
Dim kriterien
Dim eintragen As Boolean
Dim anzahl As Long 'anzahl der Listboxen
Set quelle = Worksheets("Kundensuche")
Set kriterien = CreateObject("Scripting.Dictionary")
anzahl = 7
With Kundensuche
'Listbox leeren
.ListBox1.Clear
.ListBox1.ColumnCount = anzahl 'Listbox bekommt 4 Spalten (kannst du auch ?ber die _
Einstellungen einstellen)
ende = quelle.Cells(quelle.Rows.Count, 1).End(xlUp).Row
daten = quelle.Range(quelle.Cells(1, 1), quelle.Cells(ende, anzahl))
zeiten = quelle.Range(quelle.Cells(1, 86), quelle.Cells(ende, 87))
For spalte = 1 To anzahl '+2 mehr für die Zeit wenn spalten nicht zusammenhängend sind
If .Controls("Textbox" & spalte) "" Then
kriterien.Add spalte, .Controls("Textbox" & spalte).Value
End If
Next
If kriterien.Count = 0 Then Exit Sub
For zeile = 1 To ende
eintragen = True
For eintrag = 1 To kriterien.Count
If kriterien.keys()(eintrag - 1) > anzahl Then
wert = zeiten(zeile, kriterien.keys()(eintrag - 1) - anzahl)
Else
wert = daten(zeile, kriterien.keys()(eintrag - 1))
End If
If InStr(1, wert, kriterien.items()(eintrag - 1), vbTextCompare) = 0 Then
eintragen = False
Exit For
End If
Next
If eintragen = True Then
.ListBox1.AddItem
For i = 1 To 6
.ListBox1.List(.ListBox1.ListCount - 1, i - 1) = daten(zeile, i)
Next
Label26.Caption = ListBox1.ListCount & " Kunden gefunden" 'Anzahl der gefundenen _
Prozeduren
End If
Next
End With
End Sub
GrußDominik