Hallo redeagle56,
ich habe wieder mal ein bischen mit Kalendern rumprobiert.
Da ich ja selber aus eigener Erfahrung weiß wie schwer jeder Anfang bei so etwas ist, werde ich mich mit meiner Kritik ein wenig zurückhalten. Aber so viel sei schon mal vorweg gesagt: Das geht auch besser und einfacher.
So ein Kalender fällt bei mir seit langem in die Kategorien: 08/15, Kleinkram. Und damit Du das auch bald sagen kannst, nimm bitte meine Worte als Sachgerechte Kritik und Hilfe auf.
Ich stelle einen zur Verfügung zum weiteren basteln.
Ich werde nicht daran basteln, sondern das machst Du selber.
Vielleicht hat jemand noch Ideen dazu oder Vorschläge zur Verbesserung.
Ooooh jaaaa! Da habe ich so einige.
In deiner Datei:
In der Datei hat geschrieben:
Das Passwort für Bastler: redeagle56
Für das Blatt *Kalender* trifft das nicht zu. Macht aber nix, da ich trotzdem den Schutz umgehen konnte.
In der Datei hat geschrieben:
Bei den Geburtstagen können am gleichen Tag zwei Personen nebeneinander eingetragen werden.
Das ist schon mal sehr gut.
In der Datei hat geschrieben:
Bei den Geburtstagen ist zu beachten, dass die Daten von oben nach unten in chronologischer
Reihenfolge (Datum ist entscheidend) vorgenommen werden.
Dies System ist unklug. Denn wenn ein Geburtsdatum hinzu kommt oder eines entfällt, muss man alles eventuell umschreiben. Aber dazu später mehr.
Kommen wir zum eigentlichem Kalender.
Man kann es sich auch unnötig schwer machen. Doch zu erst musst Du erstmal alles von A38 bis einschließlich J443 und die Spalten I und J löschen. Warum, das wirst Du noch merken.
In G2 das Jahr einzutragen ist ok.
Aber in B2 den Monat von Hand eintragen ist blöd. Das geht eleganter. Und zwar:
In B2 folgende Formel
Und die Zelle mit "MMMM" formatieren.
Spalte B, in B5.
Das geht einfacher, und zwar bedeutend einfacher.
Einfach in B5
Spalte C, in C5.
Code: Alles auswählen
=WENN(ISTFEHLER(INDEX($Feiertage.$A$2:$A$28;VERGLEICH(B5;$Feiertage.$A$2:$A$28;0)))=WAHR();"";1)
Einfacher.
Was geschieht hier?
Ganz einfach!
ZÄHLENWENN zählt wie oft das Datum in B5 in der Feiertagsliste vorkommt und gibt die gezählten Treffer aus. Und da die Feiertagsliste momentan keine doppelten Datume enthällt, wird immer schön brav die 1 ausgegeben
Die direkte Zellformatierung kannst Du z.B. wie folgt umstellen.
Spalte D, in D5
Da der Inhalt von Spalte I nicht mehr existiert, machst Du es dir widerum einfacher. Und zwar so.
Spalte F, in F5
Code: Alles auswählen
=WENN(C5=1;VERWEIS(B5;$Feiertage.$A$2:$A$28:$Feiertage.$B$2:$B$28);"")
Tja, und durch den Einsatz von VERWEIS macht man sich natürlich das leben nur unnötig schwer.
Besser ist es, wenn man SVERWEIS nimmt, denn da kann und darf die Liste ruhig unsortiert sein. Also in F5.
Spalte G, in G5
Code: Alles auswählen
=WENN(J5=1;VERWEIS(B5;$Geburtstage.$A$3:$A$55:$Geburtstage.$B$3:$B$55);"")
Auch hier setzen wir wieder SVERWEIS ein, aber diesmal mit einer Ergänzung die dir jetzt nicht mehr ganz unbekannt vorkommen dürfte.
Code: Alles auswählen
=WENN(ZÄHLENWENN($Geburtstage.$A$3:$A$55;B5);SVERWEIS(B5;$Geburtstage.$A$3:$B$55;2;0);"")
Diesmal übernimmt die ZÄHLENWENN in kombination mit WENN eine andere Funktion. Denn WENN überprüft mit dem 1. Argument ob eine Bedingung WAHR oder FALSCH ist. Und da ZÄHLENWENN bei keinem Treffer eine 0 (Null) ausgibt, wertet WENN das als FALSCH aus. Gibt jedoch ZÄHLENWENN irgendeine Zahl aus, so ist das für WENN gleichzusetzen mit WAHR, egal wie groß die zurückgegebene Zahl ist.
Etwas anderes wäre es wenn man z.B. sagen würde:
Code: Alles auswählen
=WENN(ZÄHLENWENN($Geburtstage.$A$3:$A$55;B5)=1;SVERWEIS(B5;$Geburtstage.$A$3:$B$55;2;0);"")
Bei keinem Treffer bleibt es so wie eben erklärt.
Wenn aber ein Datum, warum auch immer, mehrfach vorkommt, also sagen wir mal mindestens 2 mal, so wertet WENN die von ZÄHLENWENN zurückgegebene 2 als FALSCH aus, da 2 nicht das gleiche wie 1 ist. Das hat aber widerum den Nachteil, das überhaupt kein Geburtstagskind angezeigt wird obwohl doch 2 vorhanden sind. Und deshalb ist diese Variante nicht so sehr zu empfehlen. Besser ist die erste vorgestellte Methode ohne "=1".
Auch wenn Du schon die Möglichkeit bietest 2 Geburtstagskinder pro Tag anzeigen zu lassen, so musst Du dir schon Gedanken darüber machen was bei anderen Anwendern deines Kalenders passiert die durchaus mehr als nur 2 Geburtstage pro Tag eintragen. Und deshalb solltest Du zumindest ein Hinweis darauf geben, das in diesem Kalender es nicht möglich ist mehr als 2 Geburtagskinder pro Datum einzutragen.
Nun änderst Du noch das Drehfeld, womit man das Jahr hoch- oder runterzählen kann. Dazu wählst Du in den Einstellungen *Allgemein* bei "Druckbar" NEIN aus.
Kommen wir nun zu der "Bedingten Formatierung".
Spalte B, auf B5.
Als erste Bedingung ist sie fehlplaziert, dort gehört die Bedingung für Feiertag rein.
Und außerdem gehört eine WENN-Funktion überhaupt nicht in die "Bedingte Formatierung" rein. Man sollte sich schon mit Logischen Ausdrücken befassen, denn nur um die geht es dort.
Also als
2. Bedingung trägst Du folgendes ein, da dies viel einfacher ist.
Und das ist schon ein Logischer Ausdruck. Es kommt entweder nur WAHR oder FALSCH dabei raus. Und bei WAHR wird die Formatierung angewendet.
Und als
1. Bedingung kannst Du dies ruhig so belassen, das braucht nicht geändert werden.
Immer daran denken!
-> Erst den Feiertag, und danach die Wochenenden <-
Spalte D, auf D5.
Das gleiche prozedere wie eben.
Spalte F, auf F5.
Nanu!?
Hier sind auf einmal 3 Bedingte Formatierungen eingetragen?
Aber auch hier lässt sich einiges ändern.
1. Bedingung:
Für den Feiertag wie eben.
Zellvorlage *Feiertag*
2. Bedingung:
Zellvorlage *Samstag*
3. Bedingung:
Zellvorlage *Sonntag*
Spalte G, auf G5.
Tja, da Du ja eben auf meine Anweisung hin die Spalten I und J gelöscht hast, ändern wir nun die Bedingte Formatierung dafür.
Du hattest;
1. Bedingung
Formel ist:
Zellvorlage *Geburtstag*
Und jetzt machst Du folgendes.
- Von "Formel ist" umschalten auf "Zellwert ist".
- Nun wählst Du in der erscheinenden Auswahlliste "ungleich" aus,
- und rechts daneben gibst Du einfach das hier ein
""
Jetzt den Bereich B5 bis G5 markieren, und um
eine Zeile nach unten kopieren.
Nun wechselst Du in die Zelle B6.
Dort kommt jetzt
rein.
Nun kannst Du den Zellbereich B6 bis G6 markieren und nach unten bis zur Zeile 35 runterziehen.
Und damit wäre der 1. Grundstock für die folgenden Monate erledigt. Weiter gehts mit den anderen Monaten.
- Markiere den Zellbereich A2 bis H36.
- Kopiere diesen.
- Wähle Zelle A39 an.
- Füge den kopierten Bereich hier ein.
- Lösche das Drehfeld.
- Ändere B39 wie folgt:
- Ändere G39 auf
- Markiere den Zellbereich A39 bis H73.
- Kopiere diesen.
- Wähle Zelle A76 an.
- Füge den kopierten Bereich hier ein.
Und was siehst Du jetzt?
Der Monatsname hat sich ganz automatisch umgestellt.
Du brauchst jetzt nur noch den eben kopierten Bereich immer an den dafür vorgesehenen Stellen wieder einzufügen.
Danach machst Du noch etwas Feintuning, wie z.B. die Monate mit weniger als 31 Tagen etwas nacharbeiten.
Ich hoffe mir ist jetzt kein Fehler unterlaufen. Ansonsten darfst Du mich ruhig anmäääkkäärn
Bei Problemen oder sonstige Fragen dazu, einfach hier melden.
Viel Spaß auch noch
Gruß
balu