Registriert seit: 02.02.2017
Version(en): 2013
Hallo,
ich habe eine Frage zu einem VBA-Skript das ich nicht verstehe.
Und zwar berechnet mir der Code zu einem Datum die Kalendarwoche. Aber ich verstehe nicht, wie das zu stande kommt. Kann mir das jemand erklären?
Private Function KW(d As Date) As Integer
Dim t As Variant
t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function
Gibt es auch andere Möglichkeiten, die Kalendarwochen zu einem Jahr/Monaten zu berechnen?
Registriert seit: 13.04.2014
Version(en): 365
05.02.2017, 18:07
Hi,
Mit der Funktion KALENDERWOCHE, die ist doch in Excel schon drin.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 02.02.2017
Version(en): 2013
ok , kannst du mir noch erklären, wie der Code funktionert?
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Dein ursprünglicher Code ist Asbach Uralt und braucht nicht mehr erklärt werden.
Seit Excel 2010 geht dies so:
Wir haben aktuell:
Code:
MsgBox "KW " & WorksheetFunction.WeekNum(Date, 21)
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)
Registriert seit: 02.02.2017
Version(en): 2013
Trotzdem!
Ich will das einfach verstehen, aus Interesse daran.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
05.02.2017, 18:37
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2017, 18:37 von RPP63.)
Dann lies Dir zunächst mal die ISO 8601 durch:
https://de.wikipedia.org/wiki/Woche#KalenderwocheErgänzend dazu die Ermittlung der DIN-KW gemäß Excelformeln:
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=7
Der Rest ist einfache Mathematik!
(dazu sollte Dir aber der Modulo-Operator bekannt sein)
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)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• Mixer007
Registriert seit: 29.09.2015
Version(en): 2030,5
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Mixer007
Registriert seit: 02.02.2017
Version(en): 2013
Aah jetzt hab ich es gerallt :)
Danke euch beiden!