Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
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
Inhaltsverzeichnis

Variable Zeilenumbruch <br>

Variable Zeilenumbruch <br>
02.11.2021 08:27:03
Andreas
Hallo Leute,
in einer String-Variable wird ein langer Text abgespeichert. Diese Variable soll am Ende auch in einer Email im .htmlBody wiedergegeben werden.
Jetzt hätte ich gerne, dass dieser Text der Variable automatisch umgebrochen wird, damit der Text keine ewig lange Zeile in der Email schreibt. Hierzu muss ja in bekannter Weise
irgendwann automatisch eingefügt werden.
Ist jemanden eine Idee im Kopf, wie man sowas bewerkstelligen kann, br
damit dann der Text zb. so abgebildet wird, wie ich ihn hier gerade schreibe br
um die Zeilen nicht bis ans Ende ausgeschrieben zu bekommen....Im übrigen br
musste ich gerade die > Vielen Dank für Eure Hilfe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable Zeilenumbruch <br>
02.11.2021 08:43:06
Michael
Moin,
sowas in der Art? Wenn s Dein String wäre:
Replace(s, Chr(10), "<br>")
Grüße
Michael
AW: Variable Zeilenumbruch <br>
02.11.2021 08:45:41
Andreas
ICh dachte mehr an sowas, dass er nach zb 50 Zeichen (aber nicht inmitten eines Wortes) dann das br einfügt.
AW: Variable Zeilenumbruch <br>
02.11.2021 09:02:59
Michael
Das ging mir dann auch durch den Kopf....dass ich da was missverstanden habe ;-)
Versuch's mal damit (der Text wird aus A1 geholt und nach A2 geschrieben):
<pre>Sub Umbruch()
Dim s As String
Dim i As Integer, j As Integer
Dim ZeichenProZeile As Integer
ZeichenProZeile = 50
s = Sheets(1).Cells(1, 1).Value
For i = ZeichenProZeile To Len(s) Step ZeichenProZeile
j = InStr(i, s, " ")
s = Mid(s, 1, j) & "<br>" & Mid(s, j, Len(s))
Next i
Sheets(1).Cells(2, 1).Value = s
End Sub</pre>
Anzeige
AW: Variable Zeilenumbruch <br>
02.11.2021 09:13:56
Michael
Ach so, damit keine Zeile mit einem Leerzeichen beginnt und jede Zeile mindestens ZeichenProZeile lang ist müsste der Code wohl so aussehen:
<pre>Sub Umbruch()
Dim s As String
Dim i As Integer, j As Integer
Dim ZeichenProZeile As Integer
ZeichenProZeile = 55
s = Sheets(1).Cells(1, 1).Value
For i = ZeichenProZeile To Len(s) Step ZeichenProZeile
j = InStr(i, s, " ")
s = Mid(s, 1, j) & "<br>" & Mid(s, j, Len(s))
i = j
Next i
Sheets(1).Cells(2, 1).Value = Replace(Replace(s, "<br> ", "<br>"), " <br>", "<br>")
End Sub</pre>
Anzeige
AW: Variable Zeilenumbruch <br>
02.11.2021 09:05:38
UweD
Hallo
versuch es mal so....

Sub Trennen()
Dim TText As String, TR As Integer, i As Integer
Dim TNeu As String, AB As Integer
TR = 50
TText = "Ist jemanden eine Idee im Kopf, wie man sowas bewerkstelligen kann, damit dann der Text zb. so abgebildet wird, wie ich ihn hier gerade schreibe um die Zeilen nicht bis ans Ende ausgeschrieben zu bekommen. Im übrigen musste ich gerade die weglassen, weil es sonst zu Fehlern hier kommt:)"
AB = 1
For i = 50 To Len(TText) Step 50
Do Until Mid(TText, i, 1) = " "
i = i - 1
Loop
TNeu = TNeu & Mid(TText, AB, i - AB + 1) & "&ltbr&GT"
Next
MsgBox TNeu
End Sub
LG UweD
Anzeige
AW: Variable Zeilenumbruch <br>
02.11.2021 09:11:20
UweD

For i = TR To Len(TText) Step TR

AW: Variable Zeilenumbruch <br>
02.11.2021 09:18:14
Andreas
Hey super ihr beiden. Hat genauso geklappt, wie ich es mir vorgestellt habe!
Vielen Dank für die Hilfestellung!
Update..
02.11.2021 09:20:42
UweD

Option Explicit
Sub Trennen()
Dim TText As String, TR As Integer, i As Integer
Dim TNeu As String, AB As Integer
TR = 50 ' Trennung bei max Zeichzahl je Zeile
TText = "Ist jemanden eine Idee im Kopf, wie man sowas bewerkstelligen kann, damit dann der Text zb. so abgebildet wird, wie ich ihn hier gerade schreibe um die Zeilen nicht bis ans Ende ausgeschrieben zu bekommen. Im übrigen musste ich gerade die weglassen, weil es sonst zu Fehlern hier kommt:)"
AB = 1
For i = TR To Len(TText) Step TR
Do Until Mid(TText, i, 1) = " "
i = i - 1
Loop
TNeu = TNeu & Mid(TText, AB, i - AB + 1) & "&ltbr&GT"
AB = i
Next
TNeu = IIf(TNeu = "", TText, TNeu) ' falls kürzer als 50
Sheets(1).Cells(3, 1) = TNeu
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige