Wochenkalender
#21
Hallo Andre,

so wie ich es sehe, machst Du es Dir zu einfach.
Ich verstehe Snape so:
Er hat eine Datei Jahreskalender, in der Termine, Geburtstage und Feiertage abgelegt sind.
Nun möchte er diese Daten in seinem Wochenkalender angezeigt bekommen.
Dabei sollen die Daten im Wochenkalender bei Änderung der KW sich automatisch anpassen und entsprechend wieder gefüllt werden.

Das alles ist für mich in einer Mappe einfacher umzusetzen.
Ich habe den Wochenkalender erst einmal soweit vorbereitet, dass er Geburtstage und Feiertage anzeigt.

Jetzt muss Snape sich noch dazu äußern, wie er Termine verwalten möchte.
Ich habe ja schon eine Tabelle für Termine angelegt, wie ich es angehen würde.
Dort werden Anfangs -und EndDatum sowie Uhrzeiten angelegt.

Das Einlesen würde dann per Vba ablaufen.

Der Jahreskalender kann im Momment noch nicht genutz werden, da ich ja die Geburtstage und Termine nicht mehr an den Stellen stehen habe, wie der bisherige Code es bräuchte. Das muss alles noch angepasst werden. Danach kann er wie bisher genutzt werden.

Folgendes muss geklärt werden:
1. Termine wie verwalten (auflisten)
2. Wie sollen die Termine im Wochenkalender dargestellt werden
3. Bei mehreren Terminen am gleichen Tag, wie sollen sie im Jahreskalender und Wochenkalender dargestellt werden.

Snape, Datumsangaben in einer Zelle können auf vielfältige Weise unter Format Zellenformat eingestellt werden.  Aber im Wochenkalender kommt bei Geburtstagen zu einem bestimmten Datum Text hinzu, deshalb muss ich es in der Formel formatieren.

Jetzt aber erst einmal Deine Datei etwas aufgehübscht zurück:


.xlsm   Kopie von Kalender zwei Termine pro Tag(ati-1)-snape1.xlsm (Größe: 65,83 KB / Downloads: 6)
Gruß Atilla
Top
#22
Sodele, noch zu später Stunde habe ich mal ein Wochenkalenderblatt rein nur grafisch
erstellt, damit ersichtlich wird das eventuell aussehen könnte. also in der Zeile 3 die Geburtstage,
in der Zeile 5 die Feiertage, Zelle G14 Geburtstage, Zelle G16 Feiertage.
Schriftfarbe Geburtstage blau, Schriftfarbe Feiertage rot, wobei die Schriftfarbe jederzeit änderbar
sein könnte. Sonstige feste Termine kann ich auch direkt in die restlichen Zellen händisch ohne große
Formelgeschichte eintragen, es sind nicht sehr viele.

Also die jetzige Datei dient nur mal zur grafischen Ansicht! 
.xls   Wochenkalenderblatt Ansicht.xls (Größe: 25 KB / Downloads: 8)

LG  Sleepy
Top
#23
Hallo Snape,

hier mal eine weiterentwickelte Version.

Einfach mal testen.


.xlsm   Kopie von Kalender zwei Termine pro Tag(ati-3)-snape1.xlsm (Größe: 78,47 KB / Downloads: 13)
Gruß Atilla
Top
#24
@Atilla:

Ostern:


Code:
Function F_snb_pasen(y)
   F_snb_pasen = 7 * (DateSerial(y, 4, Day(Minute(y / 38) / 2 + 55))) \ 7 - 6
End Function

A20 : =F_snb_pasen(2016)
Top
#25
@Atilla, ich weiß Deine Bemühungen wirklich zu schätzen, aber wie soll ich eine .xlsm Datei
im Office 2003 in Excel öffnen?  Huh
Top
#26
Hi!
Noch nie etwas vom Compatibility Pack gehört?
Siehe: https://www.microsoft.com/de-de/download....aspx?id=3

Wenn Du schon 13 Jahre alte Software nutzt, solltest Du dies installieren.
Schließlich ist der Support für Deine Version mittlerweile eingestellt.
Ich habe mir auch angewöhnt, keine abwärtskompatiblen Datentypen mehr hochzuladen.

By the way:
Warum möchtest Du das Rad eigentlich neu erfinden?
Es gibt hervorragende Kalender im Netz (z.B. calendar.google.com oder auch Installierbare, wenn Du Angst vor der Cloud hast)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#27
Hallo Atilla,

wenn man die Geschichte mit den Formeln für alles nutzt, passt sich der Wochenkalender auf den 52 Blättern ebenfalls automatisch an, ganz ohne VBA. Daher auch meine ausführlichen Informationen zur Funktion und das Beispiel mit den 3 "Feiertagen".

Allerdings ist es ungünstig, die Feiertage als Termin 6:00 Uhr einzutragen. Hier wäre eine gesonderte Zeile bestimmt vorteilhaft, also Zeile 2 wie jetzt bei mir für die Feiertage und ab Zeile 3 für die Zeiten. Oder man nimmt Zeile 3 für die Geburtstage, das könnten ja auch 12 am Tag sein oder mehr Smile und beginnt in Zeile 4 mit 6:00 Uhr. Die Formel würde der von den Feiertagen entsprechen.
Termine könnten nun ebenfalls analog der Feiertage aus dem Blatt übernommen werden.

Die Lösung hat "lediglich" den Nachteil, dass bei mehreren Terminen mehrere Bereiche definiert und per Formel abgegriffen werden müssen. 2 oder mehr Termine in einem Bereich würden andere Formeln erfordern.

Der Jahreskalender wäre nun der nächste Schritt.

Hier aber noch der Formelansatz für mehrere Termine aus einer Liste. Die Liste kann unsortiert sein. Die Formeln haben hier aber immer wieder den Nachteil, dass sie endlich sind, hier habe ich 2 Einträge gefiltert -> siehe auch excelformeln.de <- . Will man 3 Einträge filtern, kann man den Part für einen Eintrag duplizieren und statt der beiden Stellen mit 1 bzw. 2 dann die 3 schreiben. Den Zeilenvorschub Zeichen(10) könnte man auch wieder beim Namen in der Liste schon anfügen, ist aber nicht so handlich wie ein sichtbares Zeichen Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFG
101. JanAntion 01. Jan02. Jan03. Jan04. Jan
204. Janberta Antion
Delta
Caesar
Emil
berta
Friedrich
302. JanCaesar     
401. JanDelta     
503. JanEmil     
604. JanFriedrich     

ZelleFormel
D2{=WENN(ZÄHLENWENN($A:$A;D$1) < 1;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(D$1;$A$1:$A$999));ZEILE($1:$999));1))) & ZEICHEN(10) & WENN(ZÄHLENWENN($A:$A;D$1) < 2;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(D$1;$A$1:$A$999));ZEILE($1:$999));2)))}
E2{=WENN(ZÄHLENWENN($A:$A;E$1) < 1;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(E$1;$A$1:$A$999));ZEILE($1:$999));1))) & ZEICHEN(10) & WENN(ZÄHLENWENN($A:$A;E$1) < 2;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(E$1;$A$1:$A$999));ZEILE($1:$999));2)))}
F2{=WENN(ZÄHLENWENN($A:$A;F$1) < 1;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(F$1;$A$1:$A$999));ZEILE($1:$999));1))) & ZEICHEN(10) & WENN(ZÄHLENWENN($A:$A;F$1) < 2;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(F$1;$A$1:$A$999));ZEILE($1:$999));2)))}
G2{=WENN(ZÄHLENWENN($A:$A;G$1) < 1;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(G$1;$A$1:$A$999));ZEILE($1:$999));1))) & ZEICHEN(10) & WENN(ZÄHLENWENN($A:$A;G$1) < 2;"";INDEX($B$1:$B$999; KKLEINSTE(WENN(ISTZAHL(SUCHEN(G$1;$A$1:$A$999));ZEILE($1:$999));2)))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#28
(01.02.2016, 19:02)RPP63 schrieb: By the way:
Warum möchtest Du das Rad eigentlich neu erfinden?

Hallo Ralf,
zum Glück, sonst gäbe es die vielen Foren nicht :17: oder etwas ernsthafter auf Neudeutsch Learning bei Doing oder war Doing was Bayrisches ? Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#29
Hallo zusammen,

@snape
sorry, hab es übersehen mit Deiner Version.

Hier jetzt für Dich:


.xls   Kopie von Kalender zwei Termine pro Tag(ati-3)-snape1.xls (Größe: 180 KB / Downloads: 5)

In der anderen hatte ich auch den bisherigen Code für den Jahreskalender.
In dieser ist er verändert.
Im Jahreskalender tauchen nur Feiertage und Geburtstage auf.
Bisher wurden bei Überschneidungen mit Terminen, Feiertage und Geburtstage überschrieben.

@snb
Danke für Deinen Hinweis.
Die UDF's in der Mappe bzw. die Feiertagsliste habe ich nicht erstellt und habe da auch nichts angepasst. Musste auch nicht.
Deshalb behalte ich Deinen Code erst einmal im Hinterkopf.

@Andre
Ich habe in meiner Variante auch viele Formeln eingesetzt. Aber wenn ich es mit meiner Variante alles in einer Tabelle und dann dynamisch aufziehen möchte, dann ist an manchen Stellen VBA Einsatz zweckmäßiger bzw. Ressourcen schonender.
Gruß Atilla
Top
#30
Hi André!
Zitat:Learning bei Doing oder war Doing was Bayrisches ? Smile

Knapp daneben!
Doing ist ein Ort im Kabwum-Gebirge in Papua-Neuguinea.
Bei gutem Wetter kann man sogar Umboi Island sehen.
:85:

Siehe: https://www.google.de/maps/place/Doing,+...4899?hl=de

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste