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

Zeilenumbruch-Zeichen in Listboxeintrag

Forumthread: Zeilenumbruch-Zeichen in Listboxeintrag

Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 09:55:16
Sven
Hallo zusammen,
ich lasse Anwender Text in eine Userform-Textbox eingeben, speichere ihn in einer Access-DB und lese ihn für eine List-Box-Anzeige an anderer Stelle wieder aus. Klappt prima. Aber: Wenn der Anwender den Text bspw. aus Word heraus kopiert und in der Textbox einfügt oder einen manuellen Zeilenumbruch mit Shift-Enter erzeugt, wird im Listbox-Eintrag das hääßliche Umbruch-Zeichen angezeigt. Kann man das irgendwie unterdrücken?
Die (mir weniger liebe) Alternative wäre, schon beim Speichern Zeilenumbrüche durch Leerzeichen zu ersetzen, aber eigentlich würde ich dem Anwender die Freiheit der Umbruchgestaltung überlassen.
Danke und Grüße
Sven
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 10:04:48
Nepumuk
Hallo Sven,
wie kommen die Einträge in die ListBox?
Gruß
Nepumuk
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 10:16:41
Sven
Hallo Nepumuk,
ein SQL ließt eine Access-Datenbank aus und schreibt das Ergebnis auf ein Arbeitsblatt.
Anschließend:
Set myArr = .Range(.Cells(2, 1), _
.Cells(.Rows.Count, 1).End(xlUp).offset(, intAdoColumns - 1))

und
liboFu.List = myArr.Value

Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 11:32:09
Nepumuk
Hallo Sven,
lösche die Umbrüche im Array bevor du es in die Listbox schreibst.
Gruß
Nepumuk
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 11:37:41
Sven
Hallo Nepumuk,
das war mein Plan. Hast Du einen konkreten Ansatz für mich? Muss ich das Array in einer Schleife durchlaufen?
Grüße
Sven
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 11:38:51
Sven
Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 12:44:18
Nepumuk
Hallo Sven,
ein Beispiel:
Public Sub Beispiel()
    Dim avntValues As Variant
    Dim lngRow As Long, lngColumn As Long
    avntValues = Tabelle1.Range("A1:C10").Value
    For lngRow = LBound(avntValues, 1) To UBound(avntValues, 1)
        For lngColumn = LBound(avntValues, 2) To UBound(avntValues, 2)
            avntValues(lngRow, lngColumn) = Replace$(avntValues(lngRow, lngColumn), vbLf, " ")
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 13:03:34
Sven
Danke!
Wo ist denn der Unterschied zwischen Replace() und Replace$()?
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 13:13:37
Nepumuk
Hallo Sven,
Replace gibt einen Variant/Untertyp String zurück. Replace$ einen String. Das mit dem $ braucht weniger Speicher und ist schneller. Das gilt auch für Trim$, Left$, UCase$, String$, Space$ usw.
Gruß
Nepumuk
Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 11:37:57
Luschi
Hallo Sven,
ich werte den Inhalt der TextBox erst mal aus, bevor ich einen Tweet an Access absetze, daß bestimmte Daten zurück geliefert werden sollen.
Finde ich nicht druckbare Zeichen, Sonderzeichen, die von Access nicht unterstützt werden, dann gibt's eine (Ver)-Warnmeldung und es gibt kein HappyEnd.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Zeilenumbruch-Zeichen in Listboxeintrag
17.02.2020 11:51:52
Daniel
HI
die Listboxtexte sind immer einzeilig.
wenn du das Umbruch-Zeichen temporär für die Listbox entfernen willst, aber später wieder brauchst, könntest du einen der folgenden Workarounds verwenden:
1. Ersetze für dir Listbox das Umbruchzeichen durch das Zeichen mit dem ASCII-Code 160.
das ist das geschützte Leerzeichen und sieht aus wie das normale Leerzeichen.
Da es aber ein anderes Zeichen ist, welches normalerweise nicht verwendet wird, kannst du hinterher wieder dieses Zeichen durch den Umbruch ersetzen, um wieder auf den original-Text zu kommen.
2. arbeite mit einer zweispaltigen Listbox.
in die erste Spalte schreibst du den modifizierten Text (Umbruch durch Leerzeichen ersetzt)
in die zweite Spalte den Originaltext.
Für die Anzeige verwendest du die erste spalte und blendest die zweite Spalte aus (ColumnWidth 10;0)
Für die Ergebnisausgabe (BoundColumn) verwendest du die zweite Spalte mit dem Originaltext.
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