Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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
Inhaltsverzeichnis

MonthView Kalender Format

MonthView Kalender Format
05.02.2021 12:41:06
Marco
Hallo zusammen
Ich habe das Problem dass ich bei dem Teil "Format" von dem angefügten Code das Format falsch ist. Hier wir die KW 1 Ausgegeben da der 1.1.2021 ein Freitag war und die Formatierung entsprechend ist. Wie kann ich dies ändern?
Danke für eure Hilfe.
Sub FeiertageAusführen()
Jahr = Year(UFFCTool.FCKalender.Value)
D = (((255 - 11 * (Jahr Mod 19)) - 21) Mod 30) + 21
OsterMon = DateSerial(Jahr, 3, 1) + D + (D > 48) + 6 - _
((Jahr + Jahr \ 4 + D + (D > 48) + 1) Mod 7) + 1
KarFrei = OsterMon - 3
AufFahr = OsterMon + 38
PfingstMon = OsterMon + 49
TagDerArb = DateSerial(Jahr, 5, 1)
NationalFeier = DateSerial(Jahr, 8, 1)
NeuJa = DateSerial(Jahr, 1, 1)
WeihNacht = DateSerial(Jahr, 12, 25)
Silve = DateSerial(Jahr, 12, 31)
VJahr = Year(UFFCTool.FCKalender.Value) - 1
D = (((255 - 11 * (VJahr Mod 19)) - 21) Mod 30) + 21
VJOsterMon = DateSerial(VJahr, 3, 1) + D + (D > 48) + 6 - _
((VJahr + VJahr \ 4 + D + (D > 48) + 1) Mod 7) + 1
VJKarFrei = VJOsterMon - 3
VJAuffahr = VJOsterMon + 38
VJPfingstMon = VJOsterMon + 49
VJTagDerArb = DateSerial(VJahr, 5, 1)
VJNationalFeier = DateSerial(VJahr, 8, 1)
VJNeuJa = DateSerial(VJahr, 1, 1)
VJWeihNacht = DateSerial(VJahr, 12, 25)
VJSilve = DateSerial(VJahr, 12, 31)
For i = 4 To 55
KWStellen = Len(Cells(3, i).Value)
If Right(Cells(3, i).Value, KWStellen) = Format(OsterMon, "WW") Then
Cells(2, i).Value = ""
Cells(2, i).Value = "Ostermontag"
End If
If Right(Cells(3, i).Value, KWStellen) = Format(KarFrei, "WW") Then
Cells(2, i).Value = ""
Cells(2, i).Value = "Karfreitag"
End If

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MonthView Kalender Format
05.02.2021 15:21:23
Yal
Hallo Marco,
ich kann den Link zwischen Code und Erklärung bzw Frage nicht machen.
Kannst Du deine Beschreibung nochmal in der Hand nehmen?
VG
Yal
AW: MonthView Kalender Format
05.02.2021 16:38:49
Marco
Hallo Yal
Im letzten Teil des Codes steht:
If Right (Cells(3, i) .Value, KWStellen) = Format(KarFrei, „WW“) Then
Hier ist der Kalender so Formatiert dass der erste Tag vom Jahr die KW1 definiert. Das ist jedoch dieses Jahr nicht so, der 01.01.2021 war in der KW53. Nun ist in der gesamten Berechnung alles um die Woche verschoben.
War dies jetzt verständlicher? Sorry
Gruss Marco
AW: MonthView Kalender Format
05.02.2021 17:10:47
Yal
Hallo MArco,
ja, ein gutes alt bekanntes Problem...
Excel kennt als Formel 2 Kalenderwoche:
=KALENDERWOCHE(...
=ISOKALENDERWOCHE(...
Die erste ergibt immer 1, die zweite gibt -zumidestens dieses Jahr- 53.
In VBA-Form kannst Du diese Formeln mit WorksheetFunction verwenden:
    Debug.Print WorksheetFunction.WeekNum(DateSerial(2021, 1, 1))
Debug.Print WorksheetFunction.IsoWeekNum(DateSerial(2021, 1, 1))
Viel Erfolg
Yal
Anzeige
AW: MonthView Kalender Format
05.02.2021 17:27:45
Marco
Hallo Yal
Wo muss ich dies in meiner Formel eintragen?
Gruss Marco
AW: MonthView Kalender Format
05.02.2021 19:57:46
Yal
Hallo Marco,
Du hast folgende Code rübergeworfen
If Right (Cells(3, i) .Value, KWStellen) = Format(KarFrei, „WW“) Then
aber ich glaube zu meintest
If Right (Cells(3, i) .Value, KWStellen) = Format(NeuJa, „WW“) Then
Dann wäre die neue Version
If Right (Cells(3, i) .Value, KWStellen) = WorksheetFunction.WeekNum(NeuJa) Then
VG
Yal
AW: MonthView Kalender Format
06.02.2021 13:48:40
Marco
Hallo zusammen
Das löst das Problem leider nicht. Ich habe immer noch in der falschen KW (eine Woche später) die entsprechenden Feiertage. Der MonthView Kalender der in der UserForm enthalten ist der denkt immer noch dass die KW1 die Woche mit dem 1.1.2021 ist. Man muss diesem Kalender entsprechend die Formatierung ändern. Hat jemand eine Idee wo man dies machen kann?
Ich habe versucht die Datei entsprechend zu schrumpfen um sie so hier hoch laden zu können, das _ geht aber nicht ich kriege sie leider nicht auf eine grösse von 300KB. evtl geht es ja so. Wenn ihr im Module: MProgramm beim Sub FeiertageAusführen beim Code

If Right(Cells(3, i).Value, KWStellen) = Format(OsterMon, "WW") Then
auf Format Rechter Mausklick dann auf Definition geht dann sieht man im sich öffnenden Fenster unten die Function Format dass hier der 1 Januar die Woche eins angibt. Dass müsste man ändern aber Wo?
Kann mir da jemand weiterhelfen?
Gruss Marco
Sub FeiertageAusführen()
If Right(Cells(3, i).Value, KWStellen) = Format(OsterMon, "WW") Then
Cells(2, i).Value = ""
Cells(2, i).Value = "Ostermontag"
End If
End Sub

Anzeige
AW: MonthView Kalender Format
08.02.2021 09:43:58
Yal
Hallo Marco,
"Man muss diesem Kalender entsprechend die Formatierung ändern. " --> Falsch.
Die Formatierung funktioniert richtig. Nur die Information zur Steuerung der Formatierung ist falsch. Nämmlich, wie die Kalenderwoche berechnet werden.
Da meine Lösung gezielt auf dem ersten Januar zielt, gibt sie natürlich keine Antwort für den ersten Tag der Woche danach (es sind unabhängige Berechnungen).
Ein Bischen Gehirnschmalz muss Du schon selber reinbringen.
VG
Yal

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige