Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
124to128
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
124to128
124to128
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kalenderwoche

Kalenderwoche
10.06.2002 15:37:59
Stefan F.
Salute!

In Spalte B gebe ich das Datum ein und in Spalte A soll die KW erscheinen.
Über die Recherche bin ich auf den Code für die KW-Berechnung gestoßen.

Function KWoche(d As Date)
Dim t As Long
t = DateSerial(Year(d + (8 - WeekDay(d)) Mod 7 - 3), 1, 1)
KWoche = ((d - t - 3 + (WeekDay(t) + 1) Mod 7)) \ 7 + 1
End Function

Wie aber muss ich die Spalte B in dem Code berücksichtigen, dass automatisch nach Datumseingabe die KW berechnet wird?

Danke vielmals vorab!

Gruß

Stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Kalenderwoche
10.06.2002 15:46:57
Michael Wendeler
Hallo Stefan,

in xcel gibt es auch schon die fertige KALENDERWOCHE Funktion.

Dazu mußt du nur zuerst unter "Extras" "Add-Inn Manager" das Add-Inn "Analyse-Funktionen" aktivieren.

Dann kannst Du einfach wenn in Zelle A1 dein Datum steht folgende Formel verwenden:

=kalenderwoche(A1;2)

Die 1 steht für eine KW die am Sonntag beginnt (amerikanisch) und die 2 für eine KW die am Montag beginnt (europäisch).


Gruß
M. Wendeler
http://www.wendelers.de


Re: Kalenderwoche
10.06.2002 15:47:29
Charly
Hi Stefan,
im Code brauchst du nichts ändern.
Schreibe z.B. in A1 folgende Formel
=KWoche(B1)

Gruss Charly

Anzeige
Re: Kalenderwoche
10.06.2002 16:05:18
Charly
Hallo Stefan

Ich nehme mal an, du hast den Code in der VBA-Umgebung in ein Modul kopiert.

In die Spalte B schreibst du das Datum rein und in die Spalte A die Funktion:

=KWoche(B1)

Den selben Effekt erreichst du, soweit mit bekannt ist, mit der Excel-eigenen Funktion:

=KALENDERWOCHE(B1;2)

Das Add-In "Analyse-Funktionen" muss installiert sein.
("Extras | Add-In-Manager")

... so ist's jedenfalls in XL2000

Es liebs Grüessli aus der Schweiz
Monika
... da liegst du falsch


Hi Michael,
die eingebaute Funktion rechnet für deutsche Verhältnisse falsch.
lt. Microsoft wäre der 31.12.2002 die 53. Woche, es ist aber die erste Woche.
Gruss Charly

Anzeige
... da liegst du falsch
10.06.2002 16:05:18
Charly
Hi Michael,
die eingebaute Funktion rechnet für deutsche Verhältnisse falsch.
lt. Microsoft wäre der 31.12.2002 die 53. Woche, es ist aber die erste Woche.
Gruss Charly

Re: Kalenderwoche
10.06.2002 16:06:15
Hajo
Hallo Stefan

weil hier einige empfehlen die Funktion von Excel zunehmen muß ich mal den ober Meister für Kalenderwoche WF Zitieren

"Warum muß es so eine komlizierte Formel sein Erklärung von WF
Die Funktion KALENDERWOCHE rechnet falsch oder sagen wir es gnädiger: nach amerikanischem Standard. Der 01.01.2000 z.B. ist laut DIN die 52. KW des Jahres 1999; - in den USA die erste im Jahre 2000. Das hab ich mir irgendwann mal kopiert:
Erst 1976 wurde der Wochenbeginn auf Montag festgelegt. Die erste Woche des Jahres ist definiert als die Woche,in die mindestens 4 Tage fallen. Beides = DIN 1355 (1974) Entspricht der internationalen Norm ISO 8601 (1988); -übernommen von der EU als EN 28601 (1992) und in Deutschland als DIN EN 28601 (1993) umgesetzt."

Im Register
WF -Formel:
=KÜRZEN((G6-WOCHENTAG(G6;2)-DATUM(JAHR(G6+4-WOCHENTAG(G6;2));1;-10))/7)&". KW"

Gruß Hajo

Anzeige
Re: Kalenderwoche
10.06.2002 16:42:13
Stefan F.
Vielen Dank für die vielen Beiträge!!!!!!!!!!!!!!!!!!!!

Zuerst hatte ich die Woche über

"=KÜRZEN((G6-WOCHENTAG(G6;2)..... " eingegeben.

Mein Problem dabei ist, dass ich die Formel bei Einfügen einer neuen Zeile mitkopieren muss, was ich mir ersparen wollte. Ich dachte ich kann per VBA die gesamte Spalte entsprechend formatieren.

Oder hat mir jemand einen einfacheren Tip?

Danke !!!
Gruss

Stefan


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige