Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: einfachbauen am Juni 17, 2016, 16:16:26 Nachmittag

Titel: Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
Beitrag von: einfachbauen am Juni 17, 2016, 16:16:26 Nachmittag
Hallo zusammen

ich habe eine Datei in der per Userform Einträge vorgenommen werden, unter anderem das Datum

Spalte A: Eintrag von
Spalte B: Eintrag am (Datum in Form von DD.MM.YYYY)
Spalte C: Benötigte Dauer
Spalte D: Anmerkung

mit jedme Eintrag wird eine neue Zeile eingefügt.

Jetzt möchte ich gerne noch die Kalenderwoche (ausgehend vom Eintrag in Spalte B) in Spalte E stehen haben.

Wie funktioniert das?

Option Explicit

Function kalenderwoche_din(Datum As Date) As Integer
    ''von Christoph Kremer, Aachen
    'Berechnt die KW nach DIN 1355
    Dim t&
    t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
    kalenderwoche_din = (Datum - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function
Titel: Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
Beitrag von: gmg-cc am Juni 17, 2016, 17:32:19 Nachmittag
Moin,

nimm eine andere Funktion, du hast schließlich Excel 2013:
Function KaWo_Din(Datum As Variant) As Integer
   If Not IsDate(Datum) Then Exit Function
   KaWo_Din = WorksheetFunction.WeekNum(CDate("1.5.2015"), 21)
End Function

Das Ergebnis bekommst du mit der Formel: =KaWo_Din(B1)
Die Funktion bindest du so ein, wie bei Excel-ist-sexy (http://Excel-ist-sexy) beschrieben.
Titel: Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
Beitrag von: einfachbauen am Juni 18, 2016, 14:07:48 Nachmittag
Hey,

danke für deine Antwort, allerdings möchte ich keine Formel in der Tabelle eintragen sondern mit einem Makro die Kalenderwoche eintragen lassen!
Titel: Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
Beitrag von: gmg-cc am Juni 18, 2016, 14:19:37 Nachmittag
... und für was hältst du das, was ich da als Code geschrieben habe?
Also: einfachnachbauen