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

Makro für deutsche Kalenderwochen

Makro für deutsche Kalenderwochen
20.10.2014 14:21:27
Devil_In_I
Habe versucht in Excel eine Tabelle herzustellen, die Datums in deutsche Kalenderwochen umwandeln soll. Sobald das Datum eingetragen war, sollte die Kalenderwoche automatisch angegeben und berechnet werden.
Ich habe mich mit den Makros versucht, allerdings kam irgendein Fehler bei der Definition von 'dat'.
Sub kalenderwoche()
Dim a As Integer, dat As Date
For r = 1 To 365
dat = Cells(r, 1)
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((WeekDay(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
If a = 0 Then
a = DateSerial(Year(dat) - 1, 12, 31)
ElseIf a = 53 And (WeekDay(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 
In Spalte A ist das Datum und in B soll die Kalenderwoche eingetragen werden.
Bitte helft mir & bringt wenn es geht bitte ein neues sinnvolleres Makro (:

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne Makro AW: Makro für deutsche Kalenderwochen
20.10.2014 14:28:57
Klaus
Hallo Devil (hier im Forum benutzen wir gerne richtige Vornamen),
mach das doch einfach per Formel, wozu VBA? Ab xl2007 geht folgende Formel:
=KALENDERWOCHE(A1;21)
der Schalter ;21 sorgt dafür, dass die richtige deutsche Kalenderwoche gewählt wird und nicht die amerikanische.
Um das ganze auf "Montage" zu trimmen wie in deinem Makro, einfach ein "WENN" drum herum:
=WENN(TEXT(A1;"TTTT")="Montag";"KW "&KALENDERWOCHE(A1;21);"")
Dein Makro läuft bei mir übrigens anstandslos durch. Windows 7, xl2010.
Grüße,
Klaus M.vdT.
(ein abschließender Gruß lässt den Beitrag viel freundlicher wirken)

Anzeige
ohne Makro AW: Makro für deutsche Kalenderwochen
20.10.2014 14:44:11
Daniel
HI Klaus
der Kollege hat Excel XP!
da gibts nur die amerikanische Kalernderwoche im Standard-Funktionsumfang.
und der Datentyp Date ist, wenn mich meine Erinnerung nicht täuscht, auch neu.
Das ist sowieso ein etwas komischer Datentyp.
Gruß Daniel

ohne Makro AW: Makro für deutsche Kalenderwochen
20.10.2014 14:47:21
Devil_In_I
Seltsamerweise kommt dort als Antwort 'Wahr' heraus.
Woran könnte das liegen? Ich habe die Zellen als Zahlen formatiert.
Freundliche Grüße von dem Teufel

@laus: Ab xl2007 geht folgende Formel
20.10.2014 15:38:35
Rudi
Hallo,
nö.
Erst ab 2010.
Gruß
Rudi

AW: @laus: Ab xl2007 geht folgende Formel
20.10.2014 16:20:50
Klaus
Hallo udi,
Glaube ich dir. Bin von 2003 auf 2010 umgestiegen und dachte, alle "neuen" Formeln gibt es seit 2007. Hab ich mich wohl geirrt.
Hallo Namenloser Themenersteller,
folgende Formel sollte funktionieren:
=WENN(TEXT(A1;"TTTT")="Montag";"KW " & KÜRZEN((A1-DATUM(JAHR(A1+3-REST(A1-2;7));1;REST(A1-2;7)-9))/7) ;"")
Die Formel für die deutsche Kalenderwoche vor Excel 2010 stammt nicht von mir, sondern von
http://www.excelformeln.de/formeln.html?welcher=7
Grüße,
Klaus M.vdT.

Anzeige
AW: Makro für deutsche Kalenderwochen
20.10.2014 14:41:32
Daniel
Hi
probier mal: dat as Long
in der Excelzelle ist ein Datum immer noch eine einfache Ganzahl, welche seit dem 1.1.1900 jeden Tag um 1 hochgezählt wird.
Gruß Daniel

AW: Makro für deutsche Kalenderwochen
20.10.2014 15:07:42
Devil_In_I
Danke für den Tipp (:
Aber es wird immer noch der Fehler bei 'dat = cells (r, 1) dass die Typen unverträglich sind.
Kann es was mit dem Betriebssystem zu tun haben?
Wohin soll der Code eingespeichert werden? In Tabelle 1 oder ins Modul?
Grüße zurück

AW: Makro für deutsche Kalenderwochen
20.10.2014 15:15:50
Daniel
was steht den in der Zelle drin wenn der Fehler auftritt?
gib mal, wenn das Makro mit dem Fehler stoppt, im Direktfenster den Befehl ein:
?Cells(r, 1).Value, Cells(r, 1).Text, Cells(r, 1).Formula
und zeige und die 3 ausgegebenen Werte.
Gruß Daniel

Anzeige
AW: Makro für deutsche Kalenderwochen
20.10.2014 15:26:37
Devil_In_I
Es kommt unten drunter 3x 'Datum'. Aber ansonsten nichts.
Gruß zurück

AW: Makro für deutsche Kalenderwochen
20.10.2014 15:35:55
Daniel
Hi
naja, das ist ein TEXT und von einem Text kannst du keine Kalenderwoche berechnen.
da musst entweder eine Prüfung einbauen, dass in der umzuwandelnden Zelle auch tatsächlich ein Datum oder zumindest eine Zahl steht, oder dafür sorgen, dass die Schleife nur über Zellen mit Zahlen läuft.
deine Datumwerte beginnen erst ab Zeile 2 und und in der Zeile 1 steht noch die Überschrift!
deswegen:
For r = 2 To 366
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige