Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schriftfarbe per VBA ändern

Schriftfarbe per VBA ändern
08.02.2004 17:10:47
toni
Servus.
Habe gestern folgende tolle VBA Lösung über Zellhintergrundfarbänderungen erhalten.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Farbe
If Target.Column <> 4 Then Exit Sub
If Target.Count > 1 Then Exit Sub
Select Case Target.Value
Case 1: Farbe = 36
Case 2: Farbe = 15
Case 3: Farbe = 20
Case 4: Farbe = 4
Case Else: Farbe = xlColorIndexNone
End Select
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Interior.ColorIndex = Farbe
Range(Cells(Target.Row, 11), Cells(Target.Row, 13)).Interior.ColorIndex = Farbe
Range(Cells(Target.Row, 15), Cells(Target.Row, 30)).Interior.ColorIndex = Farbe
End Sub

Nun bin ich so unverschämt und möchte noch gerne die Schriftfarbe automatisch
festlegen.
Und zwar wenn in den Zellen C "Sa" steht auf Schriftfarbe Dunkelblau (Farbe 5) und wenn "So" steht Schriftfarbe rot (Farbe 3).
Die Änderung soll für die gesamte jeweilige Zeile in der auch der Text Sa oder So steht gelten. Die Änderung der Hintergrundfarbe soll wie im vorstehenden VBA aungeführt bestehen bleiben.
Derzeit habe ich die Schriftfarbe für Sa und So über Bedingte Formatierung gelöst was nicht so gut funktioniert weil es verschiebungen gibt wenn zwischendurch Werte eingefügt werden.
Würde mich über eine Lösung die beide Farbeinstellungen in einem VBA erledigt sehr freuen.
Herzlichen Dank
Toni

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

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe per VBA ändern
08.02.2004 17:22:45
Hajo_Zi
Hallo Toni

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Farbe
If Target.Count > 1 Then Exit Sub
If Target.Column = 4 Then
Select Case Target.Value
Case 1: Farbe = 36
Case 2: Farbe = 15
Case 3: Farbe = 20
Case 4: Farbe = 4
Case Else: Farbe = xlColorIndexNone
End Select
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Interior.ColorIndex = Farbe
Range(Cells(Target.Row, 11), Cells(Target.Row, 13)).Interior.ColorIndex = Farbe
Range(Cells(Target.Row, 15), Cells(Target.Row, 30)).Interior.ColorIndex = Farbe
ElseIf Target.Column = 3 Then
If Weekday(Target.Value, 2) = 6 Then
Target.Font.ColorIndex = 5
ElseIf Weekday(Target.Value, 2) = 7 Then
Target.Font.ColorIndex = 3
End If
End If
End Sub

Gruß Hajo
Anzeige
Leider funkts noch nicht
08.02.2004 21:04:26
toni
Hallo
Leider funktioniert der Code bei mir nicht. Habe eine kleine Tabelle auf den Server gelegt damit mein Problem besser dargestellt werden kann.
https://www.herber.de/bbs/user/3509.xls
Da in der gesamten Tabelle über 5000 Zeilen sind wäre es gut wenn die Schriftfarbe auf alle schon bestehenden Zellen automatisch angewendet würde ohne die Zellen neu zu beschreiben.
Vielleicht hilft mir jemand weiter. Wäre schön wenns ginge.
AW: Leider funkts noch nicht
09.02.2004 05:28:28
Hajo_Zi
Hallo Toni
die Aufgabe "die Schriftfarbe auf alle schon bestehenden Zellen automatisch angewendet würde ohne die Zellen neu zu beschreiben" bestand nicht. Dann mußt Du nicht ein Ereignis benutzen sondern ein Makro in einem Modul. Dazu dürften schon genügend Beispiele im Forum geben.
Gruß Hajo
Anzeige
Makro ok, VBA Code funkt nicht
09.02.2004 08:30:18
Toni
Hallo Hajo.
Danke für Deine Nachricht. Die Änderung der bestehenden Zellen habe ich hingekriegt. Der Code wie im Beispiel (Nachicht von 8.2.) auf Server abgelegt funktioniert aber leider nicht.
Bitte um Hilfe.
Danke Toni.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen