Es geht sich um folgendes : Ich habe mir einen Kalender erstellt . Nun Möchte ich , wenn ich einen Namen eintrage , das die Zelle mit dem Namen und 6 Zellen darunter Farblich markiert wird . Also 7 Tage eine Woche . Es soll aber nur eine Markierung vorgenommen werden wenn auch ein Datum da ist , ansonsten übertrag auf den nächsten Monat .
Ich wäre da sehr dankbar wenn mich jemand unterstützen
30.01.2022, 17:45 (Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2022, 18:02 von Daniel555.)
Kalender ist angefügt .
Dieses Jahr 01.01.22 fällt auf einen Samstag . Wenn ich jetzt ein Namenskürzel eintrage am 01.01. Dann soll die komplette Woche eine Farbe bekommen . Aber ich möchte das Namenskürzel nur einmal eintragen müssen . Die Nächsten Wochen fangen dann wie gewohnt mit einem Montag an . Dann schreibe ich Montag das Kürzel ein und alle 7 Wochentage sollen die selbe Farbe bekommen . Endet der Monat mitten in der Woche dann sollen Übertrag auf den nächsten Monat stattfinden . Und im Dezember dann enden .
darf ich mir jetzt aussuchen, was wann wie gefärbt werden soll? Bisher sehe ich nur einen Kalender und 2 leere Blätter. Was soll wann und wo wie genau passieren?
30.01.2022, 18:15 (Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2022, 18:17 von Daniel555.)
Die andren zwei Arbeitsblätter nicht beachten , die brauche ich erst später .
Ich habe 5 Mitarbeiter . Jeder bekommt ein Kürzel . Wenn ich Mitarbeiter KL am 01.01.2022 eintrage dann soll 01.01( C11 ) und 02.01 ( C12 ) rot markiert sein . Weil es die selbe Woche ist . Die darauffolgende Woche , der 03.01 - 09.01 C13 - C19 , Da trage ich dann z.B. BK ein am Montag in Zelle C13 und dann soll C13 bis C19 Markiert werden mit z.B. gelb. Es muss also immer ein Abgleich mit Spalte A oder B erfolgen damit der Wochentag erkannt wird und auch nur da Markiert wird wo ein Wochentag ist . Wenn dann der Monat endet, wie z.B. im Januar 31.01 C 41 und ich trage dann ein Kürzel ein , dann muss der Januar C41 und der Februar F11 - F16 markiert werden . Endet das Jahr wie 2022 auf einen Donnerstag dann soll die Markierung dann auch auf dem Donnerstag enden .
Zitat:Wenn ich Mitarbeiter KL am 01.01.2022 eintrage dann soll 01.01( C11 ) und 02.01 ( C12 ) rot markiert sein . Weil es die selbe Woche ist .
Das widerspricht Deiner Aussage zu Beginn:
Zitat:Nun Möchte ich , wenn ich einen Namen eintrage , das die Zelle mit dem Namen und 6 Zellen darunter Farblich markiert wird . Also 7 Tage eine Woche .
Die perfekte Problemlösung fängt halt immer bei der perfekten Problembeschreibung an.
Gib Dir bitte Mühe, alle Fälle bzw. Sonderfälle zu beschreiben, da es ansonsten ein heilloses Hin-und-Her gibt. Am Besten trägst Du mal ein paar Beispiele per Hand in die Mappe ein.
Asche auf mein Haupt , das widerspricht sich bzw. habe ich so nicht erwähnt im ersten Beitrag .
So hier angehängte Datei mit Bsp. Markierungen .
In C11 ist eigetragen Kürzel MM und es soll C11 - C12 in endsprechender Farbe Markiert werden , bei C12 endet die Woche . C13 neuer Eintrag und es soll automatisch bis Sonntag C19 markiert .
Übertrag auf den nächsten Monat , Bsp. ende Januar C41 ist ein Montag , eingetragen is SM und es soll im Februar weiter markiert werden F11 - F16 .
Im Dezember endet das Jahr auf einen Samstag , AJ 36 Kürzel eintragen und es soll automatisch Markiert werden theoretisch 7 Tage aber da das Jahr auf einen Samstag endet eben nur bis Samstag C41 .
Das ganze ist ein Dynamischer Kalender , ich brauche nur oben rechts die Jahreszahl zu verändern und dann ändert sich der ganze Kalender . Dann erstelle ich mir noch ein Makro was mit einem Klick die ganzen Kürzel wieder entfernt . Dann z.B. 2023 setze ich nur wieder die Kürzel dort ein wie ich es planen möchte und es wird automatisch die ganze Kalenderwoche Farblich wieder markiert .
In der jetzigen Datei befindet sich auf Blatt 2 / Mitarbeiter eine liste mit Namen , Farben und Kürzeln . Namen sind frei erfunden . So ungefär stelle ich mir das vor .
31.01.2022, 13:13 (Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2022, 13:16 von {Boris}.)
Hi,
ich geb Dir mal eine VBA-Lösung. Der Code gehört in das Codemodul der Tabelle "Kalender". Sorge separat dafür, dass nur Eingaben in den Spalte C, F, I... etc. möglich sind.
Code:
Private Sub Worksheet_Change(ByVal Target As Range) Dim lngColor As Long, x As Long On Error GoTo ERR_EXIT If Not Intersect(Target, Range("A11:AJ41")) Is Nothing Then If Target.Count = 1 Then lngColor = Tabelle2.Range("E:E").Find(Target, LookIn:=xlValues, lookat:=xlWhole).Offset(0, -1).Interior.ColorIndex Do Target.Offset(x, 0).Interior.ColorIndex = lngColor If Month(Target.Offset(x, -1) + 1) <> Month(Target.Offset(x, -1)) Then Set Target = Cells(10, Target.Column + 3) If Target.Column > 36 Then Exit Sub 'für Einträge im Dezember x = 0 End If x = x + 1 Loop Until Weekday(Target.Offset(x, -1), vbMonday) = 1 End If End If Exit Sub ERR_EXIT: MsgBox "Kürzel nicht vorhanden", vbOKOnly + vbInformation, "Hinweis" End Sub