Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Feiertage im Kalender

Feiertage im Kalender
28.11.2006 23:08:33
Dirk T.
Hallo liebe Helfer,
habe mit Eurer Hilfe folgenden Code erstellt, funzt auch so wie es soll,
habe beim erweitern nur so meine lieben Probleme,
als erstes möchte ich bei Neujahr, Weihnachten usw. zusätzlich ein Kommentar in die Datumszelle einfügen, mit dem Ergebnis das in jeder Zeile "Neujahr" ist :-(
was mache ich da falsch????
das 2. Problem ist, wenn der 4. Advent gleich Heiligabend ist (wie dieses Jahr zum Beispiel) soll in der 3. Spalte 4.Adv., Heiligabend stehen,
und sonst halt 4. Advent bzw. Heiligabend
wie kann ich das realisieren, habe schon einiges versucht????
wo ich dann auch beim 3. Problem wäre
Muttertag ist ja bekanntlich am 2. Sonntag im Mai, außer wenn an dem Tag Pfingsten ist, dann ist Muttertag eine Woche eher.
Denke mir das ist die gleiche Problematik wie beim Heiligen Abend.
Wer kann mir da weiterhelfen??????

Private Sub Workbook_Open()
Dim lngZ As Long, datT As Date
Dim d_b
Dim d_Ostersonntag As Date
Dim A, D, E As Integer
Worksheets("Kalender").Select
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
datT = DateSerial(Year(Date) + 2, Month(Date) + 6, Day(Date))
While Cells(lngZ, 2) < datT
Range(Cells(lngZ, 1), Cells(lngZ, 2)).Copy Cells(lngZ + 1, 1)
Cells(lngZ + 1, 2) = Cells(lngZ, 2) + 1
lngZ = lngZ + 1
Cells(lngZ, 1) = Format(Cells(lngZ, 2), "ddd")
d_b = Cells(lngZ, 2)
d_b = Format(Cells(lngZ, 2), "yyyy") 'ermittelt Jahr
Select Case Cells(lngZ, 2)
Case Is = CDate("01.01." & d_b)
Cells(lngZ, 2).Font.ColorIndex = 46
Cells(lngZ, 1).Font.ColorIndex = 46
Cells(lngZ, 1).Font.Bold = True
Cells(lngZ, 2).Font.Bold = True
Cells(lngZ, 3) = "Neujahr"
'Range("B" & lngZ).AddComment (" Neujahr ")
Case CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday), Is <= "23.12." & d_b > CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday) - 7
Cells(lngZ, 3) = " 4. Advent"
Case Is = CDate("24.12." & d_b), Is = CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday)
' Case Is = CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday), Is = "24.12." & d_b
Cells(lngZ, 3) = "4.Adv., Heiliger Abend"
'Case CDate("24.12." & d_b) = CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday)
'           Cells(lngZ, 3) = "4.Adv HeiligAbend"
Case Is = CDate("24.12." & d_b)
Cells(lngZ, 1).Font.Bold = True
Cells(lngZ, 2).Font.Bold = True
Cells(lngZ, 3) = "Heiligabend"
End Select
'If CDate("24.12." & d_b) = CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday) Then
'If CDate("25.12." & d_b) - Weekday("25.12." & d_b, vbMonday) = CDate("24.12." & d_b) Then
Wend
Columns(2).Find(Date).Offset(0, 2).Select
End Sub

Bedanke mich schon einmal im Vorraus für Eure Hilfe
Dirk

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feiertage im Kalender
28.11.2006 23:13:15
Herbert
"Denke mir das ist die gleiche Problematik wie beim Heiligen Abend."
Wo lebst du, Heiligen Abend ist in D immer am 24.12.
mfg Herbert
AW: Feiertage im Kalender
28.11.2006 23:18:04
Dirk T.
Hallo Herbert,
Heiligabend ist immer am 24.12. das stimmt, aber der 4. Advent ist zufälligerweise dieses Jahr am 24. Dezember, und das ist dann so als wenn Muttertag auf Pfingsten fällt.
Gruß Dirk
AW: Feiertage im Kalender
29.11.2006 00:01:43
Herbert
Hi,
Advent ist kein Feiertag.
mfg Herbert
AW: Feiertage im Kalender
29.11.2006 00:12:57
Dirk T.
Hallo Herbert,
kannst du etwas zur Lösung beitragen???
Es ist ein Sonntag, ich weiß es, Heiligabend ist auch kein Feiertag.
Wenn Du lesen kannst, habe ich geschrieben, dass ich bei Feiertagen einen Kommentar einfügen möchte.
Wenn Du mir helfen kannst, nehme ich Hilfe gerne an, im Moment denke ich, Du schreibst aus Langeweile, und kommst mit dem Code (falls Du soweit geschaut hast)nicht klar.
Dann würde ich an Deiner Stelle besser nichts schreiben, - danke
Gruss Dirk
Anzeige
AW: Feiertage im Kalender
29.11.2006 00:18:16
Herbert
"Wenn Du lesen kannst, habe ich geschrieben, dass ich bei Feiertagen einen Kommentar einfügen möchte."
Auch wenn ich nicht lesen könnte, hättest du das geschrieben, stimmts?
"...dass ich bei Feiertagen einen Kommentar einfügen möchte."
Ja, und warum dann an Nicht- Feiertagen? Wahrscheinlich weißt du nicht genau, was du willst, aber da kann dir eh niemand helfen.
mfg Herbert
AW: Feiertage im Kalender
29.11.2006 00:25:38
Dirk T.
Hallo Herbert,
Da Du also nicht zur Lösung der Probleme beitragen möchtest,
und
wahrscheinlich auch nicht kannst, finde ich,
das hier nicht der passende Platz dafür ist, mit Dir Spitzfindigkeiten auszutauschen.
Wenn Du was zur Lösung der Probleme beitragen möchtest, tue es, oder las es!!!
Denke das andere Leute verstehen worum es geht
Dirk
Anzeige
AW: Feiertage im Kalender
29.11.2006 10:53:29
Gert Seler
Hallo Ihr zwei,
es gibt zwar keine dummen Fragen, wohl aber falsch gestellte Fragen.
Und da alle Helfer frei und unentgeltlich helfen, muß man sich ab und
an auch mal einen Rüffel gefallen lassen.
Nun zum Thema. In Formel sollte es wie folgt funktionieren :
WENN(Wochentag(24.12.;2)=7);"4.Advent";"Heiligabend)
Da ich mit VBA sehr wenig am Hut habe, mußt Du den VBA-Text selbst, schreiben.
mfg
Gert
AW: Feiertage im Kalender
29.11.2006 09:39:16
Peter Feustel
Hallo Dirk,
evtl. so:
Select Case Cells(lngZ, 2)
Case Is = CDate("01.01." & d_b)
Cells(lngZ, 2).Font.ColorIndex = 46
Cells(lngZ, 1).Font.ColorIndex = 46
Cells(lngZ, 1).Font.Bold = True
Cells(lngZ, 2).Font.Bold = True
Cells(lngZ, 3) = "Neujahr"
'Range("B" & lngZ).AddComment (" Neujahr ")
Case Is = CDate("24.12." & d_b)
If CDate("24.12." & d_b) = _
CDate("25.12." & d_b) - Weekday(CDate("25.12." & d_b), 2) Then
Cells(lngZ, 3) = "4.Adv., Heiliger Abend"
Else
Cells(lngZ, 3) = "Heiligabend"
End If
End Select
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Feiertage im Kalender
29.11.2006 09:52:05
Peter Feustel
Hallo Dirk,
wenn du auch den 4. Advent angezeigt haben möchtest, dann so:
Select Case Cells(lngZ, 2)
Case Is = CDate("01.01." & d_b)
Cells(lngZ, 2).Font.ColorIndex = 46
Cells(lngZ, 1).Font.ColorIndex = 46
Cells(lngZ, 1).Font.Bold = True
Cells(lngZ, 2).Font.Bold = True
Cells(lngZ, 3) = "Neujahr"
'Range("B" & lngZ).AddComment (" Neujahr ")
Case Is = CDate("24.12." & d_b)
If CDate("24.12." & d_b) = _
CDate("25.12." & d_b) - Weekday(CDate("25.12." & d_b), 2) Then
Cells(lngZ, 3) = "4.Adv., Heiliger Abend"
Else
Cells(lngZ, 3) = "Heiligabend"
End If
Case Is = CDate("25.12." & d_b) - Weekday(CDate("25.12." & d_b), 2)
Cells(lngZ, 3) = "4. Advent"
End Select
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Danke
29.11.2006 14:19:28
Dirk T.
Hallo Peter,
danke, funktioniert soweit
hast Du zufällig noch ne Idee, wie ich ein Kommentar in die Feiertage (Spalte B) bekomme???
mit meiner Lösung macht er dann in jede Zeile ein Kommentar
Danke für Deine Hilfe
AW: Danke
29.11.2006 15:01:56
Peter Feustel
Hallo Dirk,
so sollte es gehen:
Select Case Cells(lngZ, 2)
Case Is = CDate("01.01." & d_b)
Cells(lngZ, 2).Font.ColorIndex = 46
Cells(lngZ, 1).Font.ColorIndex = 46
Cells(lngZ, 1).Font.Bold = True
Cells(lngZ, 2).Font.Bold = True
Cells(lngZ, 3) = "Neujahr"
With Cells(lngZ, 2)
.AddComment
.Comment.Text Text:="Neujahr"
End With
Case Is = CDate("24.12." & d_b)
If CDate("24.12." & d_b) = _
CDate("25.12." & d_b) - Weekday(CDate("25.12." & d_b), 2) Then
Cells(lngZ, 3) = "4.Adv., Heiliger Abend"
With Cells(lngZ, 2)
.AddComment
.Comment.Text Text:="4.Adv., Heiliger Abend"
End With
Else
Cells(lngZ, 3) = "Heiligabend"
With Cells(lngZ, 2)
.AddComment
.Comment.Text Text:="Heiligabend"
End With
End If
Case Is = CDate("25.12." & d_b) - Weekday(CDate("25.12." & d_b), 2)
Cells(lngZ, 3) = "4. Advent"
With Cells(lngZ, 2)
.AddComment
.Comment.Text Text:="4. Advent"
End With
End Select
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Kommentare
29.11.2006 15:12:56
Dirk T.
Hallo Peter,
danke für Deine Hilfe, leider passiert genau das gleiche wie vorher
der Code bindet jetzt in jeder Zeile ein Kommentar mit Neujahr ein
Hoffe Du kannst helfen, danke
Gruss Dirk
AW: Kommentare
29.11.2006 16:23:20
Peter Feustel
Hallo Dirk,
bei mir nicht - siehe die Test-/Muster-Mappe
https://www.herber.de/bbs/user/38614.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Kommentare
29.11.2006 16:39:46
Dirk T.
Hallo Peter,
danke,, das Du Dich meinem Problem annimmst
bei Deiner Datei tut es, mei meiner werden in jeder Zeile Kommentare angezeigt
Was mach ich falsch???

Die Datei https://www.herber.de/bbs/user/38615.xls wurde aus Datenschutzgründen gelöscht

Gruss Dirk
Anzeige
AW: Kommentare
29.11.2006 22:24:00
Peter Feustel
Hallo Dirk,
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
bestimmt die letzte belegte Zeile im Blatt 'Kalender'
Mit dem lngZ 'handtierst' du aber ständig. Du bist immer irgendwo am Ende deiner Daten.
Ist das gewollt?
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Kommentare
29.11.2006 22:31:19
Dirk T.
Hallo Peter
Tja, - mhm, der Kalender soll sich selbstständig erweitern, das ist gewollt
dann sollte das Anfangsdatum ebenso variabel sein.
Habe den Code hier aus dem Forum, kann also nicht genau sagen ob das Absicht ist.
Gruss und danke
Dirk
AW: Kommentare
30.11.2006 11:30:17
Peter Feustel
Hallo Dirk,
ich habe deinem Makro ein weiteres hinzugefügt, das am Ende der Durchführung deines Makros per Call AllesDurcharbeiten aufgerufen wird.
Mein Makro setzt die Kommentare für Nejahr, 4. Advent und Heiligabend.
https://www.herber.de/bbs/user/38651.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Kommentare
30.11.2006 13:47:51
Dirk T.
Hallo Peter,
danke läuft so, wie Du es gebaut hast.
Was ist denn an meinem Code falsch das es nicht läuft????
aber egal, hab ein funktionierendes Ergebnis, so wie ichs möchte.
Jetzt muß ich nur noch rausfinden wie man den 2. Sonntag im Mai rausfindet.
Für Deine Hilfe möchte ich mich vielmals bedanken, ohne Dich würds wohl nicht laufen
Herzlichen Dank
Gruss vom Teutoburger Wald
Dirk
AW: Kommentare
30.11.2006 14:55:45
Peter Feustel
Hallo Dirk,
zweiter Sonntag im Mai geht so:
Public

Sub ZweiterSonntag()
Dim dDatum   As Date
Dim dZwSontg As Date
dDatum = "01.05.2007"
dZwSontg = dDatum + 14 - Weekday(dDatum, 2)
MsgBox dZwSontg
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Vielen Dank
30.11.2006 16:03:13
Dirk T.
Hallo Peter,
vielen vielen Dank, hast mir sehr weitergeholfen, denke das ich jetzt im Moment allein weiterkomme, falls nicht, ich weiß wo ich fragen kann.
Nochmals vielen Dank für Deine Hilfe
Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige