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

Brauche Hilfe zur Ermittlung der KalenderWoche VBA

Brauche Hilfe zur Ermittlung der KalenderWoche VBA
Holger,
Hallo und Guten Morgen liebes Forum,
ich grübele seit einiger Zeit und komme doch nicht weiter.
Ich brauche einen VBA Code, der mir ausgehend vom jeweiligen HEUTE Datum,
die Kalenderwoche ermittelt, für die Daten geliefert werden sollen.
Wenn der Tag von HEUTE ein Donnerstag oder Freitag ist, soll die Kalenderwoche
ausgegeben werden, die VOR der jetzigen liegt. (minus 1)
Wenn der Tag von HEUTE ein Montag, Dienstag oder Mittwoch ist, soll
die Kalenderwoche ausgegeben werden, die zwei Wochen
VOR der der jetzigen liegt. (minus 2)
Beispiel:
Heute ist Montag. Es ist die Kalenderwoche 2. Also soll KalenderWoche 52 ausgegeben werden.
Heute wäre Freitag. Es ist Kalenderwoche 2. Also soll KalenderWoche 01 ausgegeben worden.
NOCH WAS:Bei mir rechnet Excel falsch.
Die Formel KALENDERWOCHE(C4;2) bringt das Ergebnis 3 anstatt 2, warum das?
In C4 steht HEUTE drin.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Und wie in VBA?
10.01.2011 12:11:08
Holger,
Hallo Rudi,
Danke für den Link. Darauf soll man kommen ;) !?
Formel ok, nur wie kann man das alls in VBA ausrechnen?
AW: Und wie in VBA?
10.01.2011 12:18:59
Rudi
Hallo,
als Function:
Function DINKW(Datum)
' Kalenderwoche nach DIN
Dim tmp
tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
DINKW = ((Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7)) \ 7 + 1
End Function

Gruß
Rudi
Anzeige
AW: Und wie in VBA?
10.01.2011 13:25:04
Holger,
Hallo Rudi,
was genau rechnet diese Function nun aus?
Immer die kalenderwoche vor der aktuellen, oder?
AW: Und wie in VBA?
10.01.2011 13:28:41
Rudi
Hallo,
genau die Kalenderwoche.
In der Tabelle also
=wenn(wochentag(heute();2)<4;dinkw(heute()-14;dinkw(Heute()-7)
Gruß
Rudi
Klammer fehlte
10.01.2011 13:29:25
Rudi
Hallo,
genau die Kalenderwoche.
In der Tabelle also
=wenn(wochentag(heute();2)<4;dinkw(heute()-14);dinkw(Heute()-7)
Gruß
Rudi
Ok, jetzt fehlt nur noch eines:
10.01.2011 13:31:20
Holger,
Halllo rudi,
alles klar. Vielen Dank!
Dann fehlt mir noch noch eines zu meinem Glück.
Wie kann ich vom Datum HEUTE herausfinden, was für ein Wochentag es ist?
So könnte ich mit Select Case mein Vorhaben dank deiner Funktion ganz easy umsetzen.
Anzeige
Hä?
10.01.2011 13:35:36
Rudi
Hallo,
das ist doch schon drin.
=wenn(<b>wochentag</b>(heute();2)<4;...
Gruß
Rudi
Bei Excel-gut sollte man die Fkt. WOCHENTAG() schon kennen ;-)
Ich meinte sowas
10.01.2011 13:41:27
Holger,

debug.Print Format("16.01.2011","dddd")
Mit deiner Funktion ermittele ich die Kalenderwoche vor der aktuellen.
Jetzt weiß ich welcher Tag heute ist, und wenn es ein Montag oder Dienstag ist,
ziehe ich davon nochmal 1 ab und ich hab's ;)
Vielen Dank!
AW: Ich meinte sowas, FALSCH!
10.01.2011 13:44:51
Rudi
Hallo,
dann kommst du in KW1 ja auf 0 oder -1.
Du musst schon von Heute() 7 oder 14 Tage abziehen, um die korrekte KW zu errechnen.
Gruß
Rudi
Anzeige
Ups
10.01.2011 13:51:26
Holger,
Da hast du ja recht!
Jetzt probiere ich rum und wie ist denn die Syntax, um von HEUTE() 7 oder
14 Tage abzuziehen?
Date = now() - 7
müßte gehen, oder?
AW: Ups
10.01.2011 14:05:51
Rudi
Hallo,
Date ist eine VBA-Funktion! (Entspricht Heute())
dDatum=Date-7 zieht 7 Tage ab (3.1.2011).
Gruß
Rudi
AW: Und wie in VBA?
10.01.2011 15:37:12
Reinhard
Hallo Holger,
was soll das da schon berechnen?
Function DINKW(Datum)
Die Din-Kalenderwoche des angegebenen datums. Was soll das mit aktuell usw.?
Etwa nicht getestet?
@ Rudi Irgendwie hast du heute aber gewaltig viel seltsame "Kundschaft" in Folge :-)
@Holger, du bist noch harmlos :-)
Gruß
Reinhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige