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

Kalenderwochen über zwei Jahre

Kalenderwochen über zwei Jahre
06.05.2006 19:18:01
Venjacob
Hallo Leute,
ich bin dabei eine graphische Darstellung von Projekten unter Excel XP zu "bauen".
Dazu habe ich für das laufende Jahr (2006) das aktuelle Datum in Kalenderwochen umformatiert, und sie in 52 nebeneinander liegenden Spalten in Zeile 3 geschrieben.
Der Code sieht dann so aus:
Au1blatt.Range("AA3") = Kal_Woche
Au1blatt.Range("Ab3") = Kal_Woche + 1
Aublatt....
Au1blatt.Range("?3") = Kal_Woche + 52
Ich hätte gern auch noch die ersten 10 Wochen von 2007 in der Zeile 3, aber mein aktueller Code schreibt dann "Woche 53, 54, usw., anstatt: Woche 1, 2, usw..
Wie bekomme ich die ersten zehn Wochen von 2007 hinter die letzte Woche aus 2006?
Danke für Tips
Gruß Friedel

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

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwochen über zwei Jahre
06.05.2006 20:11:36
Gerhard
Hallo Friedel,
eine Projektliste nach KW habe ich bereits erstellt, ohne VBA. (Evtl. sind noch Fehler zu finden!)
Vielleicht kann sie als Beispiel dienen.
https://www.herber.de/bbs/user/33386.xls
Gruß
Gerhard E.
AW: Kalenderwochen über zwei Jahre
06.05.2006 21:11:48
Ralf
Hi Venjacob,
da hast Du Dir ja richtig viel Mühe gemacht. Extra eine Funktion geschrieben, die Dir die KW vom 1.1.06 ausgibt...:-) Wenn in AA3 sowieso die 1. KW steht und 2006 tatsächlich 52 KWn hat, dann ginge das auch einfacher.

Sub KWn_schreiben()
Dim x as byte
Range("AA3").Activate
For x = 1 to 62 '52 KWn für 06 + 10 für 07
if x <= 52 then
activecell.offset(0,x-1) = "KW " & x
else
activecell.offset(0,x-1) = "KW " & x - 52
end if
next x
End Sub

Ciao, Ralf
Anzeige
AW: Kalenderwochen über zwei Jahre
06.05.2006 22:16:00
Friedel
Hallo Ralf,
erst mal vielen Dank für Deine Antwort.
Zwischenzeitlich hab gemerkt dass ich einen Gedankenfehler gemacht habe. Zusätzlich habe ich auch in meiner Frage vergessen zu erwähnen, dass die aktuelle Woche immer im Feld Au1blatt.Range("AA3") = Kal_Woche stehen soll. In den Spalten Links davon sollen die 10 bereits vergangenen Kalenderwochen des aktuellen Jahres stehen, rechts davon sollen die verbleibenden Wochen, sowie die ersten Wochen des neuen Jahres, also 2007, Woche für Woche heran rücken.
Gruß Friedel
AW: Kalenderwochen über zwei Jahre
06.05.2006 23:25:36
Ralf
Hi Friedel,
also praktisch gleitende Kwn. Da ist das Prinzip nicht viel anders. Übrigens hatte ich auch einen Gedankenfehler. Der 1.1. kann ja durchaus KW 53 sein...:-)
Gut, gehen wir davon aus, dass 2006 52 KWn hat (ich hab's nicht nachgeprüft). Du willst trotzdem insgesamt 62. Dann gehe ich davon aus, dass Du das in Deiner KW Funktion berücksichtigt hast. Zähle vergangene KWn seit dem 1.1.06. In AA3 steht immer die aktuelle, links davon max. 10 vergangene, rechts der Rest.
Ach so, hab jetzt Deinen Funktionsnamen nicht mehr im Kopf. Ich nenne ihn hier mal KW.

Sub KWn_anzeigen()
Dim  x as byte, y as Byte, z as byte, aktKW as byte '(Wenn KW Byte zurückliefert!)
aktkw = KW 'hier den richtigen Funktionsnamen einsetzen
range("AA3").activate
For x = aktkw to 62 - aktkw
if x > 52 then
activecell.offset(0,y) = "KW " & aktkw- 52
else
activecell.offset(0,y) = "KW " & x
endif
y = y+1
next x
z = IIf(aktkw <= 10, aktkw, 10) 'max. 10 Wochen nach links
if z > 0 then
For x = 1 to z
activecell.offset(0, -x) = aktkw -x
next x
endif
End Sub

Sollte funktionieren...
Ciao, Ralf
Anzeige
AW: Kalenderwochen über zwei Jahre
06.05.2006 22:32:38
Venjacob
Hallo Ralf,
erst mal vielen Dank für Deine Antwort.
Zwischenzeitlich hab gemerkt dass ich einen Gedankenfehler gemacht habe. Zusätzlich habe ich auch in meiner Frage vergessen zu erwähnen, dass die aktuelle Woche immer im Feld Au1blatt.Range("AA3") = Kal_Woche stehen soll. In den Spalten Links davon sollen die 10 bereits vergangenen Kalenderwochen des aktuellen Jahres stehen, rechts davon sollen die verbleibenden Wochen, sowie die ersten Wochen des neuen Jahres, also 2007, Woche für Woche heran rücken.
Excel gut; VBA geht so
Gruß Friedel
AW: Kalenderwochen über zwei Jahre
06.05.2006 23:32:01
Ralf
...lach... schreibst Du im Familienverband? :-))
Anzeige

157 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige