Hallöchen,
Zitat: Mein Wunsch war es aber diese nicht händisch im Kalender zu markieren
in Deinem Beispiel sind die aber noch händisch eingetragen :20:
Moin,
das hat Jules bereits so angekündigt:
Zitat:Ich habe dir mal ein manuelles Beispiel angehangen.
Moin,
ja genau - danke Günter.
Ich war ja nicht untätig und bin etwas weiter. Dank google und Foren habe ich eine Möglichkeit gefunden.
Die Daten werden von
https://www.ferienkalender.com/ferien_de...berlin.htm (bzw. dem ausgewählten Jahr + Bundesland) gezogen. Das Script hierzu weiter unten.
Nun stehe ich vor folgender Herausforderung:
Er zieht die Daten, sofern sie klar formatiert sind, wie beispielsweise die Winterferien 05.02 bis 10.02. und trägt es mir wie folgt in eine Tabelle:
| A | B | C | D |
1 | Winterferien | 05.02. - 10.02. | 05.02.2018 | 10.02.2018 |
2 | Osterferien / Frühjahrsferien | 26.03. - 06.04. | 26.03.2018 | 06.04.2018 |
3 | Pfingstferien | 30.04. - 11.05. - 22.05. | 30.04.2018 | #WERT! |
4 | Sommerferien | 05.07. - 17.08. | 05.07.2018 | 17.08.2018 |
5 | Herbstferien | 22.10. - 02.11. | 22.10.2018 | 02.11.2018 |
6 | Weihnachtsferien | 22.12. - 05.01. | 22.12.2018 | 05.01.2019 |
Verwendete Systemkomponenten: [Windows (32-bit) NT :.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Habe ich jetzt aber ein anderes Format, wie Pfingsten, bekomme ich eine Fehlermeldung. (Hier #WERT!) da er die 3 einzelnen Tage so natürlich nicht ins Format übertragen kann.
Weitere Formate wären beispielsweise (
https://www.ferienkalender.com/ferien_de...ommern.htm)
Herbstferien
04.10./07.10. - 12.10./01.11.
In diesem Fall trägt er mir 12.10. - 01.11. ein was auch nicht korrekt ist. Hier müßte 07.10 - 12.10. .. und im idealfall der 04.10, sowie der 1.11 gesondert.
Ich habe euch die gesamte Datei mal angehangen. Nein - ich bin kein VBA Profi Vielleicht kann hier jemand helfen?
Danke und Grüße
ich hab hier mal einen Kalender, der recht schlicht aber auch einfach zu bedienen ist.
Im Kalenderblatt selbst kannst Du die Feiertage, pers. Urlaubs- und Feiertage ersehen (unter anderem auch als Kommentare)
Im Feiertageblatt kannst Du das aktuelle Bundesland mit seinen Feriendaten erlesen, sowie die Anzahl der jeweiligen Feiertage,
die den Wochentag, sowie die vergangenen Zeiten einblendet.
Weiters ist es möglich persönliche Feier/Jahrestage anzugeben, welche wiederum im Kalenderblatt eingeblendet werden.
Vorgesehen ist auch eine historische Abfrage nach dem gregorianischen und julianischem Kalender
Im Ferienkalenderblatt wird das jeweilige Bundesland über den obigen Rollbalken aufgerufen. Die Ferientermine werden über die eingeschriebenen Links aufgerufen und müssen händisch eingegeben werden.
Ich wollte dieses über CAV-Dateien einlesen, bin aber leider gescheitert
Ich hoffe Du kannst es gebrauchen und über weiterführende Verbesserungen würde ich mich freuen.
by the Way, dieser Kalender hat viele Väter, unter anderem
http://www.herber.de/excelformeln und bi...rmeln.html
@MrBurns
@steve1da
viel Erfolg damit
Hi Peter,
sieht super aus.
In meiner Datei wird versucht die Ferien- und Feiertagstermine direkt online abzugreifen. Leider gibt es hier an einigen Stellen Probleme mit dem Format (siehe mein Post). Vielleicht hast du eine Idee, wie wir die Daten in zwei Spalten aufteilen könnten? Wäre dann auch in deinem Kalender nutzbar und man müßte die Daten nicht mehr manuell eintragen.
Grüße
Hallöchen,
von - bis ermittel ich bei mir immer per Formel. Anbei mal für die einfachen eintägigen und Von-Bis-Daten - gerechnet für Sachsen. wenn 3 Daten in einer Zelle sind, wird es etwas komplexer, wäre aber auch lösbar. Man müsste eben noch eine entsprechende Fallunterscheidung reinbringen.
Arbeitsblatt mit dem Namen 'Ferien' |
| A | B | C | D | E | F | G | H |
1 | 2018 | Weihnachten | Winter | Ostern | Pfingsten | Sommer | Herbst | Weihnachten |
14 | Sachsen | 23.12. - 02.01. | 12.02. - 23.02. | 29.03. - 06.04. | 19.05. - 22.05. | 02.07. - 10.08. | 08.10. - 20.10. | 22.12. - 04.01. |
15 | Sachsen-Anhalt | 21.12. - 03.01. | 05.02. - 09.02. | 26.03. - 31.03. / 30.04. * | 11.05. - 19.05. | 28.06. - 08.08. | 01.10. - 12.10. | 19.12. - 04.01. |
17 | Thüringen | 22.12. - 05.01. | 05.02. - 09.02. | 26.03. - 07.04. | 11.05. | 02.07. - 11.08. | 01.10. - 13.10. | 21.12. - 04.01. |
18 | | | | | | | | |
19 | Sachsen von | 23.12.2017 | 12.02.2018 | 29.03.2018 | 19.05.2018 | 02.07.2018 | 08.10.2018 | 22.12.2018 |
20 | Sachsen bis | 02.01.2018 | 23.02.2018 | 06.04.2018 | 22.05.2018 | 10.08.2018 | 20.10.2018 | 04.01.2019 |
Zelle | Formel |
B19 | =DATWERT(WENNFEHLER(GLÄTTEN(LINKS(B14;FINDEN("-";B14)-1))&$A$1-1;B14&$A$1-1)) |
B20 | =DATWERT(WENNFEHLER(GLÄTTEN(TEIL(B14;FINDEN("-";B14)+1;LÄNGE(B14)))&$A$1;B14&$A$1-1)) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Im Kalender sieht das dann so aus, mit bedingter Formatierung für Ferien, Feiertage, Wochenenden und heute(). Das Grün für die Ferien zeigt mir das Tabellentool hier leider nicht an
ist aber drin
Arbeitsblatt mit dem Namen 'JAN' | | B | C | D | E | F | G | H | I | 1 | 1 | | Januar | | | 2018 | | | 2 | | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 3 | | Mo | Di | Mi | Do | Fr | Sa | So | 4 | Ferien | 1 | | | | | | |
|
Zelle | Formel | C4 | =ZÄHLENWENN(KalenderFix!$B$20:$B$32;C2) |
| Zelle | bedingte Formatierung... | Format | C4 | 1: UND(C$2>=Ferien!$B$19;C$2<=Ferien!$B$20)+UND(C$2>=Ferien!$C$19;C$2<=Ferien!$C$20)+UND(C$2>=Ferien!$D$19;C$2<=Ferien!$D$20)+UND(C$2>=Ferien!$E$19;C$2<=Ferien!$E$20)+UND(C$2>=Ferien!$F$19;C$2<=Ferien!$F$20)+UND(C$2>=Ferien!$G$19;C$2<=Ferien!$G$20)+UND(C$2>=Ferien!$H$19;C$2<=Ferien!$H$20) | abc | C4 | 2: UND(C$3="Sa";C$4=0) | abc | C4 | 3: ODER(C$3="So";C$4=1) | abc | C4 | 4: C$2=HEUTE() | abc |
|
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Servus Schauan,
das "einfache" splitten hat meine Formel drin (VBA). Hier stehe ich aber vor der Herausforderung, dass z.B. die Pfingstferien 2020 in Niedersachsen wie "22.05./02.06." sind und er mir daraus 22.05.2020 bis 02.06.2020 macht, da er den "/" in ein "-" umwandelt. Alle Daten mit Bindestrich in Spalte B werden bei meiner Formel in Spalte C und D aufgeteilt. (von - bis).
Herausforderung also wie beschrieben bei einzelnen Daten, wie Pfingsten in Niedersachen 2020 oder wenn gar 3 Daten drin stehen..
.. oder um deine Tabelle zu nehmen, wie würdest du dann Ostern in Sachsen-Anhalt lösen...?
Ich fürchte das wird bis auf Weiteres nicht möglich sein, ohne das komplette Script umzuschreiben :16:
(Auch die Formatierung habe ich über VBA)
Grüße
Hallöchen,
hier mal die erweiterten Formeln. Ich hab mal das Mehrfachdatum zu Sachsen geschrieben und noch nur einen Tag dazu. Den hat man zwar 3x, aber sollte die bedingte Formatierung nicht stören. Selbige muss dann noch um die 3. Zeile erweitert werden - da es nur ein Tag ist, wäre es einfach. Problematischer wer es, wenn zwei Zeiträume drin stehen oder ein Zeitraum und zwei andere Tage … Oder jemand nimmt statt dem * ein + … Oder noch irgendwas wird anders ...
Arbeitsblatt mit dem Namen 'Ferien' |
| A | B | C | D |
1 | 2018 | Weihnachten | Winter | Ostern |
14 | Sachsen | 23.12. - 02.01. | 11.02. | 26.03. - 31.03. / 30.04. * |
18 | | | | |
19 | Sachsen von | 23.12.2017 | 11.02.2018 | 26.03.2018 |
20 | Sachsen bis | 02.01.2018 | 11.02.2018 | 31.03.2018 |
21 | freier Tag | | 11.02.2018 | 30.04.2018 |
Zelle | Formel |
B19 | =DATWERT(WENNFEHLER(GLÄTTEN(LINKS(B14;FINDEN("-";B14)-1))&$A$1-1;B14&$A$1-1)) |
B20 | =DATWERT(WENNFEHLER(GLÄTTEN(TEIL(B14;FINDEN("-";B14)+1;LÄNGE(B14)-WENNFEHLER(FINDEN("/";B14)+1;0)))&$A$1;B14&$A$1)) |
B21 | =WENNFEHLER(DATWERT(WENNFEHLER(GLÄTTEN(WECHSELN(TEIL(B14;FINDEN("/";B14)+1;LÄNGE(B14));"*";""))&$A$1;B14&$A$1));"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Sieht auf den ersten Blick cool aus, danke!
Muss mir das mal ansehen, da mein Script bisher eben alles über VBA reingeholt hat. Dies wäre ggf. eine Möglichkeit nur die Daten direkt über VBA in eine Tabelle zu holen und dann im Anschluss mit deiner Formel und bedingter Formatierung weiterzuarbeiten..
Müßte ich das Script irgendwie "zerpflücken" :19:
Hi Jules,
die eine oder andere Formel kann man z.B. direkt mittels Application.Evaluate in VBA verwenden - allerdings in englischer Syntax. Die würde man aber auch noch per Aufzeichnen hinbekommen.
Ich würde - was Du eventuell auch hast - den String splitten oder in einer Schleife zerlegen. Wenn Du zum Splitten zuerst den Schrägstrich durch ein - ersetzt und dann splittest, bekommst Du ein Array mit 3 Daten statt sonst 2. Da könnte man eventuell voraussetzen, dass das 3. Datum ein einzelner Tag ist. Im Prinzip so mal schnell hingeschrieben:
dim arrDat
arrDat=split(replace(cells(14,3).value,"/","-"),"-")
Select Case Ubound(arrDat)
Case 0 'nur ein Tag
'...
Case 1 'von bis
'...
Case 2 'von bis und ein Tag
'...
End Select
Falls es mal passieren kann, dass erst ein Tag in der Zelle steht und dann der Zeitraum, müsste man bei den Aktionen bei Case 2 vielleicht noch bewerten, ob der / vor oder nach dem - steht ....