Zellen im dynamischen Kalender kopieren

Nimm den letzten Eintrag "Formel zur Ermittlung ..." denn du willst ja eine Formel eingeben!

Ich habe übrigens auch eine Lösung für das "Geburtstagsproblem". Allerdings habe ich hierzu keine Formel oder ähnliches genommen, sondern mit einer Benutzerfunktion.

Blöd nur das ich das an einem Rechner gemacht habe an den ich erst morgen wieder dran komme. Vielleicht kannst du bis dahin die aktuelle Version deiner Datei nochmal hier einstellen. Dann würde ich darin soweit mal alles "einbauen" und es hier beschreiben wie es gemacht ist.

So ich schau jetzt "Under the Dom". Gute Nacht!
 
Under The Dome? Hab ich gestern gelesen, klingt interessant, werd ich mir auch mal einverlaiben... Datei ist UP!
 
Zuletzt bearbeitet:
1) Geburtstage: Hierfür habe ich eine Funktion erstellt die als Parameter das jeweilige Datum enthält.

Visual Basic:
Function geburtstagsliste(datum As Date)

'Zeilenzähler, beginnt in Zeile 2, da Zeile 1 als Überschrift dient.
Dim zeile As Integer
zeile = 2
'Hier werden die Namen und die weiteren Angaben gespeichert um sie dann anzuzeigen.
Dim ausgabe As String
ausgabe = ""

'Geburtstagstabelle so lange durchlaufen bis in Spalte A kein Eintrag mehr vorhanden ist.
While Tabelle14.Cells(zeile, 1).Value <> ""
    If datum = Tabelle14.Cells(zeile, 3).Value Then
    'Wenn Datum übereinstimmt, Namen und Alter speichern.
        ausgabe = ausgabe & Tabelle14.Cells(zeile, 2).Value & " (" & Tabelle14.Cells(zeile, 4).Value & "), "
    End If
    zeile = zeile + 1
Wend

'Gefundene Werte zurückgeben und anzeigen.
'Der Text wird um 2 Zeichen gekürzt, da am Ende noch ein Komma und Leerzeichen ist.
If Len(ausgabe) > 2 Then ausgabe = Left(ausgabe, Len(ausgabe) - 2)

geburtstagsliste = ausgabe

End Function

Die Daten stehen in folgender Form in der "Geburtstagstabelle":
- Spalte A, enthält das tatsächliche Geburtsdatum
- Spalte B, enthält den Namen
- Spalte C, rechnet das Geburtsdatum auf das aktuelle Jahr um, damit es mit dem Kalender verglichen werden kann
- Spalte D, berechnet das Alter

2) Feiertage: In der Tabelle "Feiertage sind alle entsprechenden Daten eingegeben, Spalte A enthält das Datum, Spalte B die Bezeichnung. Wichtig ist das die Spalte A den Namen Feiertag bekommen hat. Über diesen Namen wird sie in der Formel angesprochen.

Visual Basic:
=NICHT(ISTFEHLER(SVERWEIS($B2; Feiertag; 1; 0)))

Mit dieser Formel wird die bedingte Formatierung aller Felder belegt (hier die Zelle B2) in denen ein Datum angezeigt wird und wo Feiertage hervorgehoben werden sollen.

In der angehängten Beispieldatei sind die Monate Januar und Februar enthalten. Außerdem sind einige Feiertage und Geburtstage zum Testen in den jeweiligen Tabellen eingetragen.

Schau ob du alles verstehst und auf deine Datei umsetzten kannst.

Gruß Thomas
 

Anhänge

Moin, hab ne Weile gefummelt, aber da ich in der ein oder anderen Zelle schon ne andere Formatierung habe, klappt net alles...

1.)
Geburtstage und die entsprechenden Spalten hab ich so formatiert, wie von dir vorgegeben.... - Nur wo geb ich jetzt deine Funktion ein, und was davon (alles oder alles außer dem grün geschriebenen, oder wie?) :cofused:

2.) Bei den Feiertagen, hab ich die Spalten verdreht zu deiner Formatierung, also Erst die Bezeichnung des Feiertages, in Spalte A, in Spalte B das Datum (verschiedenen Daten anhand von Formeln berechnet, und so formatiert, dass wenn ich bei Januar B1 die Jahreszahl ändere, die Jahreszahl auch bei Februar bis Dezember + Feiertage automatisch übertragen wird und so die Tage für die Monate und auch die Daten für die Feiertage automatisch neu errechnet werden.

Im Übrigen, hatte ich mir gedacht, dass die bedingte Formatierung nicht nur die Zelle farbig markiert, sondern zusätzlich in die jeweilige Zelle, oder die darauf folgende Zelle den genauen Text aus der jeweiligen zutreffenden Zelle aus Spalte A bei "Feiertage" ZUSÄTZLICH zum Datum einträgt (also z.Bsp.: Montag 01.Januar 2021 Neujahr - oder Donnerstag 29. Mai 2014 Christi Himmelfahrt, eben in der jeweiligen Formatierung im Blatt "Feiertage")

Als weiteres Feature, das ist mir aber erst gestern eingefallen, hätte ich gern wenn möglich vor dem jeweiligen tag die Kalenderwochen angegeben (KW1, KW 3, KW48 usw.)



Im Anhang eine aktuelle Version meiner Datei, vielleicht kannste mit de bereits vorhandenen Geschichte die Sache bissle einfacher umsetzen.. (einfacher für dich, für mich sinds ja nach wie vor alles bömische Dörfer)
 

Anhänge

Im Anhang findest du deine Datei, diesmal im aktuellen Excel-Format. Hier sind jetzt alle "Funktionen" in den Monaten Januar bis März enthalten.

zu 1) Klick einfach mal eine der "Geburtstagszellen" an. Dann siehst du was du eingeben müsstest bzw. wie die Funkion aufgerufen wird. Den obigen Code musst du in ein Modul kopieren. Hierzu auf Entwicklertools -> Visual Basic klicken. Lies dir aber nochmal durch was ich oben zu der Funktion geschrieben habe. Es darf bei den Geburtsdaten KEINE Leerzeile geben, da die Funktion dies als Abbruchbedingung nimmt! Im Moment würden bei dir deshalb auch nicht alle Geburtstage angezeigt!

zu 2) Ich habe die Feiertage jetzt wieder so eingetragen wie ich es in meinem Beispiel hatte. Ist eigentlich gleichgültig, war aber für mich einfacher.

Der jeweilige Name des Feiertages wird jetzt auch angezeigt, genauso die Kalenderwoche.

Gruß Thomas
 

Anhänge

So, ich wollte mich noch mal recht herzlich bedanken, der Kalender ist endlich fertig und funktioniert so, wie ich es mir vorgestellt habe (bis auf die bedingte Formatierung mit der Farbänderung bei den Feiertagen) - aber das krieg ich noch hin. DANKE vielmals....
 
Zurück