Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

verschiedene Farbformate in einer Zelle

verschiedene Farbformate in einer Zelle
29.03.2007 14:01:00
Gabriele
Hallo,
ich möchte innerhalb einer Zelle Zeichen in verschiedene Farben darstellen, dies ist händisch auch kein Problem. Nun möchte ich aber vorgegebene Zeichenfolgen mit der Suche/Ersetze - Funktion in verschiedenen Farben darstellen.
Beispiel suche alle "-innen-" in der Tabelle und ersetze (in rot) "-aussen-". Es sollen aber nicht alle Zeichen der ganze Zelle rot abgebildet werden, sondern nur die von mir vorgegebenen.
Danke

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verschiedene Farbformate in einer Zelle
29.03.2007 14:51:50
Rudi
Hallo,
in ein Modul:

Sub ttt()
Dim rngFind As Range, rngFirst As Range
Dim strFind As String, strReplace As String
strFind = "innen"     'anpassen
strReplace = "aussen"  'anpassen
Set rngFind = Cells.Find(What:=strFind, After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rngFind Is Nothing Then
Set rngFirst = rngFind
Do
Set rngFind = Cells.FindNext(After:=rngFind)
rngFind = Replace(rngFind, strFind, strReplace)
rngFind.Characters(InStr(rngFind, strReplace), Len(strReplace)).Font.ColorIndex = 3
Loop Until rngFind.Address = rngFirst.Address
End If
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: verschiedene Farbformate in einer Zelle
29.03.2007 16:07:17
Gabriele
Super!!!!!!!!!
damit ist mein Problem schon fast gelöst. Nun habe ich aber mehrere Farben in einer Zelle, nämlich Schwarz, Grün und Rot, bei dem Einsatz des Moduls wird zwar der richtige String in der richtigen Farbe dargestellt, aber leider werden alle anderen Buchstaben jetzt schwarz auch die Grünen. Lässt sich das Modul so erweitern, dass alle anderen Zeichen deren Farbe beibehalten?
Vielen Dank
Gabriele
AW: verschiedene Farbformate in einer Zelle
29.03.2007 22:00:16
Uduuh
Hallo,
nette Aufgabe. Mal was abseits vom Standard.

Sub Replace_mit_Farben()
Dim rngFind As Range, rngFirst As Range
Dim strFind As String, strReplace As String
Dim intFind As Integer, intReplace As Integer
Dim vntColors(), intX As Integer, intCounter As Integer
strFind = "innen"     'anpassen
strReplace = "aussen"  'anpassen
intFind = Len(strFind)
intReplace = Len(strReplace)
Set rngFind = Cells.Find(What:=strFind, After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rngFind Is Nothing Then
Set rngFirst = rngFind
Do
Set rngFind = Cells.FindNext(After:=rngFind)
'Farben merken
intX = InStr(rngFind, strFind)
ReDim vntColors _
(1 To WorksheetFunction.Max(Len(rngFind), Len(rngFind) - strFind + strReplace))
For intCounter = 1 To intX - 1
vntColors(intCounter) = rngFind.Characters(intCounter, 1).Font.ColorIndex
Next intCounter
For intCounter = intX To intX + intReplace - 1
vntColors(intCounter) = 3
Next intCounter
For intCounter = intX + intReplace To UBound(vntColors)
vntColors(intCounter) = _
rngFind.Characters(intCounter + intFind - intReplace, 1).Font.ColorIndex
Next intCounter
'ersetzen
rngFind = Replace(rngFind, strFind, strReplace)
'Farben schreiben
For intCounter = 1 To UBound(vntColors)
rngFind.Characters(intCounter, 1).Font.ColorIndex = vntColors(intCounter)
Next intCounter
Loop Until rngFind.Address = rngFirst.Address
End If
End Sub
Gruß aus’m Pott
Udo

Anzeige
AW: verschiedene Farbformate in einer Zelle
30.03.2007 08:57:43
Gabriele
Vielen Dank aber leider funktioniert das Makro nicht, ich bekomme folgende Fehlermeldung "Laufzeitfehler 13, Typen unverträglich". Da ich keinen blassen Schimmer von Makroprogrammierung habe, bin ich nicht in der Lage irgendetwas damit anzufangen.
Nochmal das Problem: Ich habe 3 verschiedene Farben in einer Zelle und möchte nun einen String (eine Buchstabenkombination in Farbe Lavendel) durch einen anderen String (eine Buchstabenkombination in Farbe rot) ersetzten.
Hey, ich finde es toll, dass es Leute gibt die sich mit meinem Problem rumschlagen.
AW: verschiedene Farbformate in einer Zelle
30.03.2007 10:46:10
Rudi
Hallo,
da hat Udo wohl nicht richtig getestet. So klappt es:

Sub Replace_mit_Farben()
Dim rngFind As Range, rngFirst As Range
Dim strFind As String, strReplace As String
Dim intFind As Integer, intReplace As Integer
Dim vntColors(), intX As Integer, intCounter As Integer
strFind = "innen"     'anpassen
strReplace = "aussen"  'anpassen
intFind = Len(strFind)
intReplace = Len(strReplace)
Set rngFind = Cells.Find(What:=strFind, After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rngFind Is Nothing Then
Set rngFirst = rngFind
Do
Set rngFind = Cells.FindNext(After:=rngFind)
'Farben merken
intX = InStr(rngFind, strFind)
ReDim vntColors _
(1 To WorksheetFunction.Max(Len(rngFind), Len(rngFind) - intFind + intReplace))
For intCounter = 1 To intX - 1
vntColors(intCounter) = rngFind.Characters(intCounter, 1).Font.ColorIndex
Next intCounter
For intCounter = intX To intX + intReplace - 1
vntColors(intCounter) = 3
Next intCounter
For intCounter = intX + intReplace To UBound(vntColors)
vntColors(intCounter) = _
rngFind.Characters(intCounter + intFind - intReplace, 1).Font.ColorIndex
Next intCounter
'ersetzen
rngFind = Replace(rngFind, strFind, strReplace)
'Farben schreiben
For intCounter = 1 To UBound(vntColors)
rngFind.Characters(intCounter, 1).Font.ColorIndex = vntColors(intCounter)
Next intCounter
Loop Until rngFind.Address = rngFirst.Address
End If
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: verschiedene Farbformate in einer Zelle
30.03.2007 11:56:00
Gabriele
Hallo Rudi,
das ist nun wirklich beeindruckend und exact das Hilfsmittel welches ich brauche - Viiiiiiielen Dank!
Bis gestern wusste ich noch nicht mal was ein Makro ist und nun habe ich eins ganz für mich alleine. Jetzt fehlt mir nur noch die Möglichkeit die Farbe individuell zu verändern, kannst Du mir da nochmals helfen?
Gruß Gabriele
AW: verschiedene Farbformate in einer Zelle
30.03.2007 12:39:00
Rudi
Hallo,
möglicherweise. Falls du genauer erklärst, was du willst.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: verschiedene Farbformate in einer Zelle
30.03.2007 14:20:00
Gabriele
Hallo Rudi,
tschuldigung, die letzte Frage war nicht besonders geschickt formuliert. Hier nun etwas exakter: Was muss ich am Makro ändern um statt eines roten String einen lavendelfarbenen String zu erhalten?
Gruß Gabriele
Anzeige
AW: verschiedene Farbformate in einer Zelle
30.03.2007 14:57:00
Rudi
Hallo,
         'Farben merken
intX = InStr(rngFind, strFind)
ReDim vntColors _
(1 To WorksheetFunction.Max(Len(rngFind), Len(rngFind) - intFind + intReplace))
For intCounter = 1 To intX - 1
vntColors(intCounter) = rngFind.Characters(intCounter, 1).Font.ColorIndex ' _
Farben vor dem zu ersetzenden String
Next intCounter
For intCounter = intX To intX + intReplace - 1
vntColors(intCounter) = 3 'Farbe des Ersatzstrings
Next intCounter
For intCounter = intX + intReplace To UBound(vntColors)
vntColors(intCounter) = _
rngFind.Characters(intCounter + intFind - intReplace, 1).Font.ColorIndex ' _
Farben hinter Ersatzstring
Next intCounter

Für Lavendel musst du die Farbe des Ersatzstring von 3 in 39 ändern.
Zur Ermittlung der Farbwerte:
Sub farbliste()
Dim i As Integer
For i = 1 To 56
Sheets(1).Cells(i, 1) = i
Sheets(1).Cells(i, 2).Interior.ColorIndex = i
Next i
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: verschiedene Farbformate in einer Zelle
30.03.2007 18:37:00
Gabriele
Hallo Rudi,
klappt alles wunderbar, nochmals vielen Dank !!!!!
Gabriele

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige