Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
vba DIN- Kalenderwoche
01.12.2006 02:32:30
Dirk
Hallo Exceljaner,
habe in den Weiten des World Wide Webs ein Makro gefunden, dass mir auf
vba-Ebene die Deutsche Kalenderwoche an jedem Montag eintragen soll.
Leider läuft das Makro bei mir nicht, div. Laufzeitfehler (436, 6 ),und dann springt der Debugger in die Zeile
z = DateSerial(Year(dat) - 1, 12, 31)
Wer kann mir helfen, dass ich das makro in das WorkbookOpen-Makro integriere,
und vorallem das es überhaupt läuft?
https://www.herber.de/bbs/user/38664.xls
Für eure Hilfe schon jetzt herzlichen Dank
Dirk

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba DIN- Kalenderwoche
01.12.2006 03:18:50
ramses
Hallo

Sub kalenderwoche()
Dim z As Long, dat As Date
Dim lngZ As Long
Dim d_b As Date
For r = 2 To Cells(rows.count,1).End(xlup).row
dat = Cells(r, 2)
z = Int((dat - DateSerial(Year(dat), 1, 1) + ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
If z = 0 Then
z = DateSerial(Year(dat) - 1, 12, 31)
ElseIf z = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
a = 1
End If
If Format(Cells(r, 1), "dddd") = "Mo" Then Cells(r, 3) = "KW " & z
Next r
End Sub

Die Variable "Z" war falsch dimensioniert, "Integer" statt "Long"
Schreib ans Ende deines Workbook_Open Ereignisses
Wend
kalenderwoche
End Sub
Damit ALLE Daten berücksichtigt werden habe ich die Schleife angepasst
For r = 2 To Cells(Rows.Count, 1).End(xlUp).Row
anstelle von
For r = 2 To 365
Gruss Rainer
Anzeige
AW: vba DIN- Kalenderwoche
01.12.2006 11:33:24
Gert
Hallo Dirk,
hier eine Lösung die auch clever ist. Gehe zu "Extras" ---&gt"Auto Korrektur Optionen"
und trage folgendes ein :
"Ersetzen"
fkt_KW
"Durch"
=KÜRZEN((A1-WOCHENTAG(A1;2)-DATUM(JAHR(A1+4-WOCHENTAG(A1;2));1;-10))/7)
Klicke "OK" an. Immer wenn in eine Zelle "fkt_KW" eingetragen wird und in A1
ein Datum steht, zeigt die Zelle die korrekte DIN_KW an.
mfg
Gert
AW: vba DIN- Kalenderwoche
01.12.2006 11:53:07
Dirk
Hallo Gert,
auch Dir vielen Dank für die Hilfe, werde wahrscheinlich Rainers Lösung bevorzugen, da es sich selbstständig einschreiben soll.
Aber trotzdem danke das Du Dich meinem Problem angenommen hast
Dirk
Anzeige
Danke
01.12.2006 11:50:20
Dirk
Hallo Rainer,
danke, Du hast mir sehr geholfen, werde es gleich ausprobieren.
Vielen Dank für Deine Hilfe
Dirk

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige