Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1736to1740
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
VBA Listbox Zeilenumbruch Chr$(13) entfernen
12.02.2020 13:02:50
dominik
Hallo,
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

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Listbox Zeilenumbruch Chr$(13) entfernen
12.02.2020 13:27:19
Matthias
Moin!
Der Code war eine Lösung für eine spezielle Exceldatei mit entsprechendem Aufbau. Damals gab es zwei verschiedene Bereiche, die ausgewertet wurden. Ich weiß nicht, ob deine Datei auch so aufgebaut ist. DA ist es meist besser, seine eigene Datei und die Probleme / Wünsche damit zu posten. Wie auch immer.
Da im Code kein Zeilenumbruch eingefügt wird, gehe ich davon aus, dass er in den Zellen steht - nur die kommen ja in die LB. Deshalb das hier
.ListBox1.List(.ListBox1.ListCount - 1, i - 1) = daten(zeile, i)

durch dashier ersetzen.
.ListBox1.List(.ListBox1.ListCount - 1, i - 1) = replace(daten(zeile, i),chr(13),"")

Ist jetzt aber ungetestet. Kann sein, dass da c#jetzt auch noch das chr(10) vorkommt. Wenn ja, dann evtl. gleich vbcrlf an Stelle von chr() verwenden. Kannst das ja vorher mal überprüfen.
VG
Anzeige
AW: VBA Listbox Zeilenumbruch Chr$(13) entfernen
13.02.2020 08:14:25
dominik
Hallo Matthias,
vielen Dank für deine Rückmeldung. Es funktioniert wie gewünscht. Ich hatte es ähnlich versucht mit replace und VBA.chr$(13), "", was allerdings nicht funktioniert hat. Deine Lösung klappt so wie es sollte , Danke.
Gruß
dominik

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige