HERBERS Excel-Forum - das Archiv

Thema: Ein Teil eines Textes einfärben, geht das?

Ein Teil eines Textes einfärben, geht das?
BugSimpson
Hallo Community,

ist es möglich ein Teiles eines Textes einzufärben?

z.B. >


="Ort: " & '.Inf'!B5 & " / " & "Hersteller: " &'.Inf'!D5


Möchte ich alles vor "/" in einer anderen Farbe haben, funktioniert das, wenn ja wie?

Danke ;)
AW: Ein Teil eines Textes einfärben, geht das?
Uduuh
Hallo,
geht in Formeln nicht.

Gruß aus m Pott
Udo
AW: Ein Teil eines Textes einfärben, geht das?
RPP63
Moin!
Excel hat 2^14 aka 16.384 Spalten
Warum nimmst Du nicht 2 davon, statt beides in eine Zelle zu quetschen?
(Ort und Hersteller)
Das "Ort: " könnte man sogar mit Zahlenformat mitgeben, so dass weiterhin der Wert Tokio in der Zelle steht:
 ABC
1Ort: Tokio Tokio

ZelleFormatWert
A1"Ort:" @Tokio

ZelleFormel
A1=C1


Gruß Ralf
AW: Ein Teil eines Textes einfärben, geht das?
BugSimpson
Ja hast Du Recht.
Hinterher ist man immer schlauer. Das war auf die schnelle damit ich nicht meine ganze Adressierung im Code ändern muss.
Es hätte ja sein können das man mit einer Formel das hervorheben kann.

Gruß Jan.
AW: Ein Teil eines Textes einfärben, geht das?
Firmus
Hi BugSimpson,

hier ein Beispiel, das ich vor einiger Zeit aus dem Forum gezogen habe.
Es sollte Teile eines Textes in einer Zelle einfärben.
An deine genaue Anforderung muss du es noch anpassen.

Sub FormatWorte()


Dim ws As Worksheet
Dim cell As Range
Dim word As String
Dim color As Long

' Definiere die Wörter und ihre Farben
Dim wordsAndColors As Object
Set wordsAndColors = CreateObject("Scripting.Dictionary")
wordsAndColors.Add "Water", RGB(0, 0, 255) ' Blau
wordsAndColors.Add "Energy", RGB(255, 255, 0) ' Gelb
' Füge hier weitere Wörter und Farben hinzu

' Durchlaufe alle Arbeitsblätter
For Each ws In ThisWorkbook.Worksheets
' Durchlaufe alle Zellen in jedem Arbeitsblatt
For Each cell In ws.UsedRange
If Not IsEmpty(cell) Then
Dim wordKey As Variant
For Each wordKey In wordsAndColors.Keys
word = wordKey
color = wordsAndColors(wordKey)
' Suche und formatiere das Wort
Call FormatWordInCell(cell, word, color)
Next wordKey
End If
Next cell
Next ws
End Sub

Sub FormatWordInCell(cell As Range, word As String, color As Long)
Dim startPos As Long
Dim wordLength As Long

startPos = InStr(1, cell.Value, word, vbTextCompare)
wordLength = Len(word)

While startPos > 0
cell.Characters(startPos, wordLength).Font.color = color
startPos = InStr(startPos + wordLength, cell.Value, word, vbTextCompare)
Wend
End Sub


Gruß,
Firmus

ps: bin nur sporadisch im Forum - Antworten könnten dauern.
AW: Ein Teil eines Textes einfärben, geht das?
BarbT
Hallo,
ich hatte vor ein paar Wochen eine ähnliche Frage. Bei mir ging es darum einen Textteil einer Zelle fett zu markieren. Habe dazu mehrere Makrovorschläge bekommen, die funktioniert haben.
Hier der Link zu meinem Thread:
https://www.herber.de/forum/archiv/2004to2008/2004322_Text_in_ExcelZelle_teilweise_fett.html

Vielleicht lässt sich eins der Makros soweit umschreiben, dass es dein Problem löst.

Gruß Barbara