Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

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!!!

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.

274 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige