Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

Probleme mit Kalenderwoche

Probleme mit Kalenderwoche
18.01.2021 11:13:20
Elke
Ich habe in einem umfangreichen Makro folgenden Code drin:
Range("B5").Select
Do Until IsEmpty(ActiveCell.Value)
ActiveCell.Offset(0, -1).Select
ActiveCell.FormulaR1C1 = "=(WEEKNUM(RC[1]))"
ActiveCell.Offset(1, 1).Select
Loop
Leider ergibt mir diese Funktion für dieses Jahr die falschen Werte zurück. Ich habe deshalb folgende Funktion versucht:
Range("C16").Select
Do Until IsEmpty(ActiveCell.Value)
ActiveCell.Offset(0, -1).Select
ActiveCell.FormulaR1C1 = "=ISOKALENDERWOCHE(RC[1])"
ActiveCell.Offset(1, 1).Select
Loop
Aber leider wird mit dann "#Name? angezeigt. Wenn ich nach beenden des Makros da rein klicke erscheint zwar die richtige Kalenderwoche, aber verwenden kann ich es so natürlich nicht :(
Ich habe verschiedene andere Wege ausprobiert, aber leider habe ich keine Lösung gefunden.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Kalenderwoche
18.01.2021 11:20:57
Sigi.21
Hallo,
Parameter 21!: =ISOKW
ActiveCell.FormulaR1C1 = "=(WEEKNUM(RC[1]),21)"
Sigi
AW: Probleme mit Kalenderwoche
18.01.2021 11:23:50
UweD
Hallo
also entweder den 2. Parameter auf 21 einstellen
ActiveCell.FormulaR1C1 = "=WEEKNUM(RC[1],21)"

oder so
ActiveCell.FormulaR1C1 = "=ISOWEEKNUM(RC[1)"
LG UweD
AW: Probleme mit Kalenderwoche
18.01.2021 11:24:36
Daniel
Hi
da ISOKALENDERWOCHE offentsichtlich deutsch ist, müsstest du entweder die Formel komplett auf deutsch schreiben und das angeben:
.FormulaR1C1Local = "=ISOKALENDERWOCHE(ZS(1))"

oder für .FormulaR1C1 den amerikanischen Funktionsnamen verwenden: "IsoWeekNum"
.FormulaR1C1 = "=ISOWEEKNUM(RC[1])"

oder bei der normalen WeekNum über den zusätzlichen Parameter 21 angeben, dass die Kalenderwoche nach deutscher Norm berechnet werden soll:
.FormulaR1C1 = "(WEEKNUM(RC[1],21)"
btw, es ist wesentlich schneller, wenn du nicht jede Zelle einzeln, sondern alle Zellen gemeinsam befüllst:
Range("A5:A" & Cells(Rows.Count, 2).End(xlup).Row).FormulaR1C1 = "=WeekNum(RC[1],21)"
Gruß Daniel
Anzeige
AW: Probleme mit Kalenderwoche
18.01.2021 12:54:59
Elke
Ihr seid spitze! Nun gibt es die richtien Werte, vielen Dank!!
In 12 Minuten 3 Antworten - ich bin echt beeindruckt. Ich habe ja schon oft in dem Forum Tipps nach gelesen, aber gar nicht realisiert, wie schnell man hier eine Antwort bekommt. Vielen Dank!
@ Daniel: Danke für den Hinweis und schneller wäre durchaus wünschenswert. Nur klappt das so nicht ganz. Ich habe in einer Spalte die Kalendertage und möchte daneben die Kalenderwoche schreiben. Da logischerweise nicht jeder Monat gleich viele Tage hat, habe ich mit dem Loop gearbeitet. Deine Funktion überzeugt zwar, aber ich wüsste nicht, wie ich sie abändern kann, dass er die Woche daneben und nicht über das Datum schreibt.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige