Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
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
Schriftfarben in Zellen
19.01.2009 07:57:00
Ulli
Hallo Zusammen,
beim letzen mal wurde mir sehr schnell, sehr kompetent und sehr freundlich geholfen. Dafür möchte ich mich nochmals bedanken.
Hier mein Problem: Ich habe eine Tabelle mit verschiedenen Farben in einer Zelle. Diese Farben entsprechen jedoch nicht den originalen Schriftfarben, sondern sind - aus welchem Grund auch immer (ich kann es nicht sagen, da ich die Tabelle nicht erstellt habe) - mit falschen Schriftfarben versehen wurden. Es handelt sich nur um 4 verschiedene Farben, welche zu ändern wären. Die Zelle ich im Moment so aufgebaut:
IF AKTIV "EIN" = Start
IF (RGB 0, 255, 0) AKTIV (RGB 255, 0, 255) EIN (0, 255, 255) Start (RGB 255, 255, 0)
Die Schriftfarben in dieser Zelle müssen jedoch wie folgt lauten:
IF AKTIV "EIN" = Start
IF (RGB 0, 191, 0) AKTIV (RGB 153, 51, 204) EIN (0, 0, 191) Start (RGB 255, 128, 0)
Die Sonderzeichen, wie " oder = sind in Schwarz und sollen auch icht geändert werden. Leider ist es nicht so, dass immer nur die gleichen Worte geändert werden müssen, sondern die Schriftfarbe, die jetzt bei "IF" ist kann in einer anderen Zelle "Start" zugewiesen werden müssen. Die einzige Übereinstimmung ist die Schriftfarbe.
Nun hoffe ich, dass man dieses Problem per VBA beheben kann. Ich kann es jedoch nicht mal Ansatzweise.
Vielen Dank im Voraus
Ulli

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage?
19.01.2009 08:34:10
Tino
Hallo,
also nochmal zum Verständnis, damit auch ich es verstehen kann.
(Ich stehe manchmal etwas auf der Leitung)
Du hast einen Zellbereich (Bsp. A1:A100)
In diesen Zellen kommen diese Schriftfarben vor
RGB (0, 255, 0) (255, 0, 255) (0, 255, 255) ( 255, 255, 0)
Diese möchtest Du durch diese ersetzen
RGB (0, 191, 0) (153, 51, 204) (0, 0, 191) (255, 128, 0)
Habe ich dies richtig verstanden?
Gruß Tino
Beispiel...
19.01.2009 09:56:56
Tino
Hallo,
bin jetzt eine Zeit lang nicht am Rechner, sollte ich Deine Frage richtig verstanden haben,
kannst Du mal diesen Code testen.
Den Zellbereich musst Du im Code eventuell noch anpassen.
Sub SchriftFarbe()
Dim Bereich As Range, Zelle As Range

'hier den Zellbereich angeben 
Set Bereich = Range("A1:A100")

For Each Zelle In Bereich
  With Zelle.Font
    Select Case .Color
     Case RGB(0, 255, 0): .Color = CDec(RGB(0, 191, 0))
     Case RGB(255, 0, 255): .Color = CDec(RGB(153, 51, 204))
     Case RGB(0, 255, 255): .Color = CDec(RGB(0, 0, 191))
     Case RGB(255, 128, 0): .Color = CDec(RGB(255, 128, 0))
    End Select
  End With
Next Zelle

End Sub


Ich lass die Frage aber offen.
Gruß Tino

Anzeige
AW: Beispiel...
19.01.2009 20:31:17
Ulli
Hallo Tino,
der oben genannte VBA-Code funktioniert nur, wenn nur eine der Farben in einer Zelle vorhanden ist. Bei meiner Tabelle sind aber alle oben genannten Farben in einer Zelle. Dadurch wird die "Aufgabe" um einiges schwieriger und ich weiß beim besten Willen nicht, wie man das anstellen kann.
Trotzdem erst mal vielen Dank für Deine Antwort. Vielleicht kannst Du mir auch in diesem Fall weiter helfen.
Gruß Ulli
AW: Beispiel...
20.01.2009 08:42:04
Tino
Hallo,
dies müsste so funktionieren,
kann aber bei vielen Zellen mit langen texten etwas länger dauern.
Sub SchriftFarbe()
Dim Bereich As Range, Zelle As Range
Dim i As Long
'hier den Zellbereich angeben 
Set Bereich = Range("A1:A100")

Application.ScreenUpdating = False
    For Each Zelle In Bereich
     If Zelle <> "" Then
        For i = 1 To Len(Zelle)
            With Zelle.Characters(Start:=i, Length:=1).Font
              Select Case .Color
               Case RGB(0, 255, 0): .Color = RGB(0, 191, 0)
               Case RGB(255, 0, 255): .Color = RGB(153, 51, 204)
               Case RGB(0, 255, 255): .Color = RGB(0, 0, 191)
               Case RGB(255, 128, 0): .Color = RGB(255, 128, 0)
              End Select
            End With
        Next i
     End If
    Next Zelle
Application.ScreenUpdating = True
End Sub


Tipp: mach Deinen Beitrag offen wenn Dein Problem noch nicht gelöst ist.
Gruß Tino

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige