folgende VBA-Zeile ist falsch, aber sie zeigt vielleicht was ich rauskriegen möchte:
IF Wochentag von Cells(t,m) gleich Sonntag THEN
Kann mir bitte jemand sagen, wie das richtig heißen muss?
Danke im Voraus
Gruß Franz
folgende VBA-Zeile ist falsch, aber sie zeigt vielleicht was ich rauskriegen möchte:
IF Wochentag von Cells(t,m) gleich Sonntag THEN
Kann mir bitte jemand sagen, wie das richtig heißen muss?
Danke im Voraus
Gruß Franz
in A5 steht dein Datum:
7 ist gleich Sonntag, wenn du den Parameter bei Weekday auf 2 stellst. Ansonsten ist Sonntag 1.
Gruß Boris
vielen Dank für Deine Antwort. Ich habe nicht ein Datumsfeld, sondern einen ganzen Kalender und möchte per VBA den Samstag und den Sonntag einfärben. Kannst Du mir da bitte weiterhelfen?
Gruß Franz
Wenn Zellwert gleich "Samstag" dann Rot oder so ??
Gruß
Thomas
also das war aus deiner Frage nun wirklich nicht ersichtlich.
Prinzipiell geht das genauso mit dem Makro:
Sub test()
If Weekday(Cells(x,y), 2) > 5 Then
Cells(x,y).Interior.Colorindex = 3
End If
End Sub
und das ganze in eine For-Next-Schleife einbinden.
Aber der Hinweis ist ja bereits gekommen:
Nutze einfach die bedingte Formatierung.
Gruß Boris
aus zwei Gründen: erstens wird der Kalender ohnehin durch ein Makro erzeugt mit noch ein paar anderen Dingen dazu. Und zweitens habe ich dann die drei Möglichkeiten der bedingten Formatierung frei für anderes.
Gruß Franz
tut mir leid, wenn ich nicht klar geschrieben habe. Aber ich habe trotzdem noch ein Problem: ich bekomme jetzt in der Zeile
If Weekday(Cells(t, m), 2) > 5 Then
die Fehlermeldung: Typen unverträglich.
Mit der bedingten Formatierung klappts doch auch !?! Gruß Franz
Die Formatierung der Zelle ist
Was mache ich falsch???
Nachtrag, ist was abgeschnitten: die Formatierung ist:
Benutzerdefiniert : "T."
Franz
Danke für Deine Antwort. Es steht tatsächlich nur die Zahl und der Punkt drin, definiert als: Benutzerdefiniert "T.": 1. | 2. | 3. usw. Allerdings steht natürlich die Formel drin, die das Datum berechnet. Kann es daran liegen?
Gruß
Franz
Das Jahr steht in A1.
In der C2 Zelle des 1. Januar steht: =DATUM($A$1;1;1)
In C3 für den 2. Januar steht: =+C2+1 usw.
Gruß Franz
geh unter Format - bedingte Formatierung.
Markiere C2 bis C367 (oder wie weit auch immer), beginnend bei C2.
Formel ist:
=WOCHENTAG(C2;2)>5 und Format zuweisen. Fertig.
Gruß Boris
ja ist klar, das klappt ja auch. Aber ich habe ja versucht das mit VBA zu machen, damit die 3 Bedingungen unter Bedingte Formatierung für anderes frei bleiben. Und da habe ich eben bei Deinem gestrigen Vorschlag die Meldung Typen unverträglich bekommen. Trotzdem danke, ich versuch's weiter.
Gruß Franz
danke, ich versuche es nochmal. Kann jetzt grad leider nicht (hab ein paar Kinder zu versorgen :-)), melde mich später wieder.
Gruß Franz
klappt nicht, bekomme nach wie vor die Meldung: Typen unverträglich und markiert ist dabei die Zeile: If Weekday(Cells(t - 1, m), 2) > 5 Then.
Hier mal mein kompletter Code, vielleicht findest Du ja den Fehler:
For t = 3 To 58 Step 5 ' Schleife für Monate
For m = 3 To 33 ' Schleife für Tage pro Monat
Cells(t, m).Font.ColorIndex = -4105 ' Feiertagszeilen Textfarbe automatisch
Cells(t - 1, m).Interior.ColorIndex = -4142 ' Datumszeilen Hintergrundfarbe automatisch
Cells(t, m).Interior.ColorIndex = -4142 ' Feiertagszeilen Hintergrundfarbe automatisch
Cells(t, m).Font.FontStyle = "Fett" ' Feiertagszeilen Schriftschnitt
Cells(t + 1, m).Interior.ColorIndex = -4142 ' Urlaubszeilen Hintergrundfarbe automatisch
If Weekday(Cells(t - 1, m), 2) > 5 Then
Cells(t - 1, m).Interior.ColorIndex = 3
End If
Next m ' Schleifenzähler (For m)
Next t ' Schleifenzähler (For t)
Gruß Franz