Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: nur den letzten Zeileumbruch löschen

nur den letzten Zeileumbruch löschen
20.12.2013 09:35:02
Franz
Hallo Fachleute,
ich setze aus mehreren Einzelteilen einen String zusammen:
strGesText = Strtt(1) & vbLf & _
Strtt(2) & vbLf & _
Strtt(3) & vbLf & _
Strtt(4) & vbLf & _
Strtt(5)
wenn nun Strtt(5) mal leer ist (=""), dann soll der letzte - und nur der letzte - Zeilumbruch weg, und das krieg ich nicht hin. Ich verusche 2 div. Möglichkeiten mit Replace:
strGesText = Replace(rgZiel, vbLf, "")
strGesText = Replace(rgZiel, Right(rgZiel, 1), "")
.... aber beide Varianten suchen halt im ganzen String nach vbLf und holen sämtliche Zeilenumbrüche raus anstatt nur den letzten. Wie kann ich das denn schreiben?
Danke schonmal und Grüße
Franz

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur den letzten Zeileumbruch löschen
20.12.2013 09:48:18
UweD
Hallo
so z.B.
    strGesText = Strtt(1) & vbLf & _
Strtt(2) & vbLf & _
Strtt(3) & vbLf & _
Strtt(4) & IIf(Strtt(5)  "", vbLf, "") & _
Strtt(5)
Gruß UweD

AW: nur den letzten Zeileumbruch löschen
20.12.2013 09:53:27
Franz
Hallo Uwe,
das ist ja genial (zumindest für mich:-)) !!), das IIf war mir noch nicht bekannt, und wie man das direkt verwenden kann.
Vielen Dank und Grüße
Franz

Anzeige
AW: nur den letzten Zeileumbruch löschen
20.12.2013 09:54:30
UweD
so ginge es auch
    strGesText = Strtt(1) & vbLf & _
Strtt(2) & vbLf & _
Strtt(3) & vbLf & _
Strtt(4) & vbLf & _
Strtt(5)
If Right(strGesText, 1) = vbLf Then strGesText = Left(strGesText, Len(strGesText) - 1)

Anzeige
AW: nur den letzten Zeileumbruch löschen
20.12.2013 10:03:14
Franz
ja, danke, versteh das Prinzip, werd ich mir auch aufheben, gibt vielleicht andere Einsatzmöglichkeiten
Grüße
Franz
ach ja, und übrigens schöne Weihnachten und einen guten Rutsch ins Neue Jahr!

AW: nur den letzten Zeileumbruch löschen
20.12.2013 12:11:30
Rudi
Hallo,
man könnte auch strtt redimensionieren.
Motto:
Sub FranzW()
Dim strTT(), strGesamtText As String
ReDim strTT(1 To 5)
'strtt() füllen
If strTT(5) = "" Then ReDim Preserve strTT(1 To 4)
strGesamtText = Join(strTT, vbLf)
End Sub

Gruß
Rudi

Anzeige
AW: nur den letzten Zeileumbruch löschen
20.12.2013 12:59:26
Franz
Hallo Rudi,
das ist ja auch genial, auch wieder was Neues für mich, vielen Dank!
Um das Ganze auf mehr als nur ein leeres "Strtt(5)" auszudehnen hab ich Uwes "IIf"-Vorschlag so erweitert:
strGesamtText = strTT(1) & IIf(strTT(2) "", vbLf, "") & _
strTT(2) & IIf(strTT(3) "", vbLf, "") & _
strTT(3) & IIf(strTT(4) "", vbLf, "") & _
strTT(4) & IIf(strTT(5) "", vbLf, "") & _
strTT(5)
Das sähe mit Deinem Tipp dann so aus:
If strTT(5) = "" Then ReDim Preserve strTT(1 To 4)
If strTT(4) = "" Then ReDim Preserve strTT(1 To 3)
If strTT(3) = "" Then ReDim Preserve strTT(1 To 2)
If strTT(2) = "" Then ReDim Preserve strTT(1 To 1)
strGesamtText = Join(strTT, vbLf)
..... was wunderbar funktioniert.
Um das zu verkürzen, fiele mir eine Schleife ein....... Oder gibt's da auch ne "elegantere" Möglichkeit, die besser dazu passt?
Grüße
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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