Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
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
bed. Formatierung mittels VBA
Frank
Hallo Zusammen!!!
Wie immer bin ich wieder einmal mit mein Latein am Ende, hoffe auf eure Hilfe.
In Spalte E5:E310 steht immer ein Datum. Es handelt sich immer um Freitage, Samstage, Sonntage und Montage. Das ist f. d. bed. Formatierung in 2003 einer zuviel! Ich möchte das wenn das Datum ein Freitag ist soll die Schriftfarbe weinrot sein, Samstag blau, Sonntag rot und Montag dunkellila. Das ganze wollte ich hinter einen Button legen und am Ende der Erstellung der Daten auf Klick formatieren!
Ich hoffe ihr könnt mein Problem verstehen und mir eine Lösung anbieten!!! Vielen Dank im Vorraus!
Gruß Frank H.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
so geht das
20.01.2010 13:38:30
Björn
Hallo Frank,
mit diesem Code klappt das:

Sub Farben()
Dim Zeile As Integer
Range("E5:E310").Font.ColorIndex = xlAutomatic
For Zeile = 5 To 310
Select Case Weekday(Cells(Zeile, 5), 1)
Case 6 'Freitag
Cells(Zeile, 5).Font.ColorIndex = 9
Case 7 'Samstag
Cells(Zeile, 5).Font.ColorIndex = 5
Case 1 'Sonntag
Cells(Zeile, 5).Font.ColorIndex = 3
Case 2 'Montag
Cells(Zeile, 5).Font.ColorIndex = 13
End Select
Next Zeile
End Sub
Auf deinem Blatt einen Commandbutton erzeugen und das diese MAkro zuweisen.
Gruß
Björn B.
AW: so geht das
20.01.2010 14:00:24
Frank
Hallo Björn!
Danke, funzt Super. Wie kann ich aber die Fehlermeldung "Typen unverträglich" abfangen, wenn in Spalte E5:E310 Zellen noch leer sind? Vielleicht weißt du auch hier noch Rat!
Gruß Frank H.
Anzeige
AW: so geht das
20.01.2010 14:08:45
Björn
Hallo,
also auf die Schnelle "unschön" programmiert (einfach bei Dir erweitern):

On Error Resume Next
Select Case Weekday(Cells(Zeile, 5), 1)
On Error GoTo 0
Schöner wäre es, wenn man in ner If-Schleife das ganze prüft und abfängt.
Aber so funktionioert es. Ich bin da Minimalist und will keine Schönheitswettbewerbe gewinnen ;-)
Wenn es sich allerdings um eine größere VBA-Anwendung handelt, die mit Fehlerbehandlung arbeitet, dann sollte man das nicht so machen.
Gruß
Björn B.
AW: so geht das
20.01.2010 14:08:45
Björn
Hallo,
also auf die Schnelle "unschön" programmiert (einfach bei Dir erweitern):

On Error Resume Next
Select Case Weekday(Cells(Zeile, 5), 1)
On Error GoTo 0
Schöner wäre es, wenn man in ner If-Schleife das ganze prüft und abfängt.
Aber so funktionioert es. Ich bin da Minimalist und will keine Schönheitswettbewerbe gewinnen ;-)
Wenn es sich allerdings um eine größere VBA-Anwendung handelt, die mit Fehlerbehandlung arbeitet, dann sollte man das nicht so machen.
Gruß
Björn B.
Anzeige
AW: so geht das
20.01.2010 14:52:02
Luschi
Hallo Frank,
mach es so:

Sub Farben()
Dim Zeile As Integer
Range("E5:E310").Font.ColorIndex = xlAutomatic
For Zeile = 5 To 310
'Datentyp der Zelle prüfen
If VarType(Cells(Zeile, 5)) = vbDate Then
Select Case Weekday(Cells(Zeile, 5), 1)
Case 6 'Freitag
Cells(Zeile, 5).Font.ColorIndex = 9
Case 7 'Samstag
Cells(Zeile, 5).Font.ColorIndex = 5
Case 1 'Sonntag
Cells(Zeile, 5).Font.ColorIndex = 3
Case 2 'Montag
Cells(Zeile, 5).Font.ColorIndex = 13
End Select
End If
Next Zeile
End Sub
Gruß von Luschi
aus klein-Paris
AW: so geht das
20.01.2010 15:35:36
Frank
Hallo Ihr zwei fleißigen Helfer!!!
Funzt nun super!!! Ihr, sowie das gesamte Forum wie immer Spitze!!!
Danke und Gruß Frank H.
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige