Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA-Skript Datum-> Kalendarwoche
#1
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?
Antworten Top
#2
Video 
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.
Antworten Top
#3
ok , kannst du mir noch erklären, wie der Code funktionert?
Antworten Top
#4
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)
Antworten Top
#5
Trotzdem!
Ich will das einfach verstehen, aus Interesse daran.
Antworten Top
#6
Dann lies Dir zunächst mal die ISO 8601 durch:
https://de.wikipedia.org/wiki/Woche#Kalenderwoche

Ergä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:
  • Mixer007
Antworten Top
#7
Oder hier:

http://www.snb-vba.eu/VBA_ISO_weeknummer_en.html
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Mixer007
Antworten Top
#8
Aah jetzt hab ich es gerallt :)

Danke euch beiden!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste