Ich habe mir vor Jahren einen Schichtplaner erstellt bei dem sich die Ferienzeiten bei Änderung der Jahreszahl in A2 entsprechend anpasst. Es ist aber sehr mühselig jedes Jahr die Zellen mit dem nächsten Ferienjahr anzupassen. Hat jemand eine Idee wie man die Formeln in den Zellen in meiner Beispieltabelle H8:O8 ändern muss, sodass diese einen Zellbereich z.B. für 20 Kalenderjahre (gerne auch separates Tabellenblatt) absucht.
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt um mein Problem zu schildern.
06.07.2016, 19:23 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2016, 19:23 von schauan.)
Hallöchen,
Du könntest die Zeilen mit INDIREKT berechnen, im Prinzip
=INDIREKT("H" & 2016-1816), um auf H200 zu kommen. Statt 2016 nimmst Du dann die Zelladresse, in der das Jahr steht. Dadurch kommst Du 2016 auf 200, 2017 auf 201 usw.
Übrigens kann man die Wechsel zwischen Sommer- und Winterzeit auch per Formel berechnen: =DATUM(2016;4;)-REST(DATUM(2016;4;)-1;7) =DATUM(2016;11;)-REST(DATUM(2016;11;)-1;7) und für die ganzen Feiertage schaust Du mal in unseren Beispielbereich, ohne VBA.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Ralf1101
Andre`s Antwort ist natürlich vollkommen richtig, kann aber in deiner Datei in einigen Jahren Anpassungen benötigen. Spätestens wenn die Leerzeilen zwischen den Ferienkalendern nicht mehr ausreichen wirst du Zeile hinzufügen. Da die 1816 in der Funktion INDIREKT eine Konstante ist muss dieser Wert dann angepasst werden.
Ausserdem nehme ich an, dass du dieses Beispiel für die Winterferien auch für die anderen vier Ferien umsetzen willst.
Hier einige Bemerkungen:
1) Im Prinzip willst du die Werte einer Zeile eines Bereiches anhand eines Schlüssels in der ersten Spalte diese Bereiches ermittel. Hierfür gibt es in Excel die Funktion SVERWEIS. Nach Ansicht einiger Experten in diesem Forum ist diese Funktion eine der wichtigsten Funktionen von Excel. Vielleicht kannst du ja eimal die Beschreibung hierfür durchlesen.
2) Ausserdem schreibst du in deiner Ferienliste jeden Ferientag in eine Zelle. Das ist nicht nötig. Da die Kalendertage in Excel fortlaufende Zahlen sind reicht der erste und der letzte Tag der Ferien.
3) In deiner Version prüfst du ob ein Tag zu den Winterferien gehört nur in einem kleinen Bereich des Kalenders. Ich nehme an, dass du dies auch für die anderen Ferien machst. Du must also immer wissen an welchen Tagen du welche Ferien überprüfen must.
4) Du nutzt in den Ferienlisten verbundene Zellen. Zellen Verbindung sollte meines Erachtens weitgehend vermieden werden. Über die Ausrichtung: "Zelle über Auswahl Zentrieren" bekommt man optisch das gleiche Ergebnis.
Mein Vorschlag:
1) In den Ferienlisten werden nur die ersten und letzten Tage erfasst 2) In jeweils einer (für die Winterferien zwei) seperaten Zeile werden über die Funktion SVERWEIS der erste und letzte Ferientag des aktuellen Jahres aus dem Bereich der Ferien ermittelt. (Für neue Jahre müssen die Werte innerhalb des Bereiches erweitert werden. In Excel ab 20?? könnte man die Bereiche als Tabelle formatieren.)
3) Die Formel für die Ermittlung, ob ein Tag ein Ferientag ist, ist für alle Kalendertage gleich.
In der nächsten Antwort mein Umsetzungsvorschlag.
ps Ich weis nicht wie du Feiertage in der Zeile 4 einträgst, aber mit SVERWEIS könnte man sie, ohne sie jedes Jahr manuel anzupassen, eintragen.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Den Aufbau der Urlaubslisten liefere ich nach, hab zur Zeit Probleme die Zellen auszulesen und hier richtig darzustellen.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
da ich Ausscnitte nicht zusammenstellen Kann hier die Überarbeitete Datei. Geändert habe ich nur die Ferienlisten jetzt H50:J104
und die Formel zur Urlaubsbestimmung H8:CT8
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • Ralf1101