Collapse column

Autor Thema: Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen  (Gelesen 2270 mal)

Offline einfachbauen

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
« 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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
« Antwort #1 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 beschrieben.
Gruß
Günther

Offline einfachbauen

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
« Antwort #2 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!

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2013: [Excel 2013] Kalenderwoche mit VBA in Zelle eintragen
« Antwort #3 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
Gruß
Günther

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.