/ / Zusammenf├╝hren mehrerer formatierter Textzeilen in einer einzigen Zelle - Microsoft Excel

Zusammenf├╝hren mehrerer formatierter Textzeilen in einer einzigen Zelle - Microsoft Excel

Ich hoffe, die Antwort auf diese Frage bringt mich zu der gr├Â├čeren Frage, bei der es sich um eine VBA - Frage handelt, die ich auf SO gepostet habe.

Wenn ich mehrere Zeilen formatierten Texts habe und diesen Inhalt in einer einzigen Zelle zusammenf├╝hren und diese Formatierung nicht verlieren m├Âchte, ist das m├Âglich?

Anscheinend kann ich entweder:

  1. F├╝gen Sie mehrere Textzeilen in eine Zelle ein (nicht formatiert).
  2. F├╝hren Sie ein Einf├╝gen durch, das mehrere Zellen f├╝r mehrere Zeilen generiert.

Ich m├Âchte jedoch die Kombination von den beiden.

Mein zugrunde liegendes Problem ist der Versuch, mehrzeiliges HTML in eine einzelne Zelle zu bringen und die Formatierung ├╝ber VBA beizubehalten. Bisher war das nicht erfolgreich.

Antworten:

0 f├╝r Antwort Ôäľ 1

Diese L├Âsung hat die Eleganz eines M├╝llwagen-Balletttanzens und ist so schnell wie derselbe LKW, der im Berufsverkehr steckt, funktioniert aber:

j = 1

For Each myRange In Range1
If Range0.Value = vbNullString Then
Range0.Value = myRange.Value
Else
Range0.Value = Range0.Value & Chr$(10) & myRange.Value
End If
Next myRange

For Each myRange In Range1
For i = 1 To myRange.Characters.Count
Range0.Font.Name = myRange.Characters(Start:=j, Length:=1).Font.Name
Range0.Characters(Start:=j, Length:=1).Font.FontStyle = myRange.Characters(Start:=j, Length:=1).Font.FontStyle
Range0.Characters(Start:=j, Length:=1).Font.Size = myRange.Characters(Start:=j, Length:=1).Font.Size
Range0.Characters(Start:=j, Length:=1).Font.Strikethrough = myRange.Characters(Start:=j, Length:=1).Font.Strikethrough
Range0.Characters(Start:=j, Length:=1).Font.Superscript = myRange.Characters(Start:=j, Length:=1).Font.Superscript
Range0.Characters(Start:=j, Length:=1).Font.Subscript = myRange.Characters(Start:=j, Length:=1).Font.Subscript
Range0.Characters(Start:=j, Length:=1).Font.OutlineFont = myRange.Characters(Start:=j, Length:=1).Font.OutlineFont
Range0.Characters(Start:=j, Length:=1).Font.Shadow = myRange.Characters(Start:=j, Length:=1).Font.Shadow
Range0.Characters(Start:=j, Length:=1).Font.Bold = myRange.Characters(Start:=j, Length:=1).Font.Bold
Range0.Characters(Start:=j, Length:=1).Font.Italic = myRange.Characters(Start:=j, Length:=1).Font.Italic
Range0.Characters(Start:=j, Length:=1).Font.Underline = myRange.Characters(Start:=j, Length:=1).Font.Underline
Range0.Characters(Start:=j, Length:=1).Font.Color = myRange.Characters(Start:=j, Length:=1).Font.Color
Range0.Characters(Start:=j, Length:=1).Font.TintAndShade = myRange.Characters(Start:=j, Length:=1).Font.TintAndShade
Range0.Characters(Start:=j, Length:=1).Font.ThemeFont = myRange.Characters(Start:=j, Length:=1).Font.ThemeFont
j = j + 1
Next i
j = j + 1
Next myRange

Woher Range0 ist der Bereich, in den Sie die mehreren Zellen kopieren m├Âchten Range1 enth├Ąlt alle zu kopierenden Zellen (Hinweis: Range0 kann keine Untermenge von sein Range1)