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

Forumthread: Farbigen Text in String beim Splitten beibehalten

Farbigen Text in String beim Splitten beibehalten
07.07.2017 09:50:26
Karl
Hallo,
ich habe folgendes Problem in Excel:
Ich habe Zellen mit Zeilenumbruch, die sowohl schwarzen als auch roten Text enthalten (beide Farben treten in der Zelle auf). Ich möchte jetzt den Text an bestimmten Trennzeichen aufsplitten und es soll die Farbe des Textes beibehalten werden.
Den ersten Teil, also das Aufsplitten und in einzelne Zellen schreiben, habe ich gelöst (Split-Funktion). Allerdings ist jetzt der gesamte Text schwarz.
Das Problem mit der Textfarbe ist weiterhin ungelöst.
Beispiele:
In einer Zelle steht:
-4ABC-TZD4/RHG7-9UVR
-3TZD-8UC7
TZD4 und 9UVR sind rot, alles andere schwarz.
Nach dem Splitten steht jeder "Block" in einer einzelnen Zelle:
Zelle1: 4ABC
Zelle2: TZD4/RHG7
u.s.w.
Danke für eure Hilfe!!!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbigen Text in String beim Splitten beibehalten
07.07.2017 10:32:52
Daniel
Hi
wird schwierig.
du müsstest vor dem Splitten im Gesamttext dir für jedes Zeichen die Farbe merken und dann nach dem Splitten die neuen Zellen entsprechend einfärben.
Gruß Daniel
AW: Farbigen Text in String beim Splitten beibehalten
07.07.2017 11:06:35
Sven
Hi,
habe das mal getestet und funktioniert...
Wenn in $A$4 dein urspünglicher Wert steht, dann gibt Dir das Script die einzelnen Teilstrings in $B$4, $C$4, $D$4, etc. aus... Kannst Du ja noch einwenig anpassen.
Public Sub colorsplit(r As Range, delimiter As String)
Dim i, j As Integer
Dim l As Integer
Dim c As Long
Dim colorarr() As Variant
Dim txtarr As Variant
Dim arrcnt As Integer
l = Len(r.Value) - 1
c = r.Column
ReDim Preserve colorarr(l)
For i = 1 To Len(r.Value)
colorarr(i - 1) = r.Characters(i, 1).Font.ColorIndex
Next
txtarr = split(r.Value, delimiter, -1, vbBinaryCompare)
arrcnt = 0
For i = LBound(txtarr) To UBound(txtarr)
c = c + 1
Cells(r.Row, c).Value = txtarr(i)
For j = 1 To Len(Cells(r.Row, c).Value)
Cells(r.Row, c).Characters(j, 1).Font.ColorIndex = colorarr(arrcnt)
arrcnt = arrcnt + 1
Next
arrcnt = arrcnt + 1
Next
End Sub
Grüße
Sven
Anzeige
AW: Farbigen Text in String beim Splitten beibehalten
07.07.2017 11:25:27
Karl
Danke, ich probiere es die Tage aus.
;

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