Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wochenangabe verschoben
#1
Hallo liebe leser,

ich habe einen Arbeitsplan mit jeweil einer Tabelle für jede Woche.
Nun habe ich in der hinterlegten Formel ein Problem beim anlegen der Arbeitsblätter.

In Zelle A2 gebe ich das Klanderjahr 2021 ein. Dann gehe ich auf C1 und erstelle das Kalenderjahr.
Nun taucht in C1 das Datum der Woche auf (vom-bis) dies ist aber immer eine Woche hinter den Tagen in Zelle B2 - G2.

Dies betrifft das Jahr 2021 und Jahr 2022

Kann mir das jemand richten?


Angehängte Dateien
.xlsm   Arbeitsplan 2021.xlsm (Größe: 21,78 KB / Downloads: 7)
Antworten Top
#2
Hallo Bibbo,

weil Du davon ausgehst, dass der 1.1. in der Woche 1 liegt... Das ist jedoch nicht immer so.

Probier mal so:
Code:
Sub HauRein()
Dim y As Long, s As String, kw As Long, startdatum As Long, wt As Long, c As Long, Woche As Integer
  y = Year(Now())
  s = InputBox("Für welches Jahr (2018 bis 2050) ?", "Eine wichtiche Frage", CStr(y))
  y = Val(s): If (y < 2018) Or (y > 2050) Then MsgBox "Ungültige Eingabe" + vbCr + CStr(y), vbCritical, "Des geht 'net": Exit Sub
 
  startdatum = DateSerial(y, 1, 1)
  wt = Application.WorksheetFunction.Weekday(startdatum)
  startdatum = startdatum - wt + 2
  For kw = startdatum To startdatum + 366 Step 7
    Woche = Application.WorksheetFunction.IsoWeekNum(kw)
    Worksheets("Vorlage").Copy after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "KW" + Format(Woche, "00")
    ActiveSheet.Shapes("Button 1").Delete
    Cells(1, 2) = Woche
    Cells(1, 3) = "vom " + Format(kw, "dd.MM.") + " bis zum " + Format(kw + 5, "dd.MM.yyyy")
  Next
   
End Sub
Ein Problem könnte auftreten, wenn der 1.1. in KW53 des Vorjahres und der 31.12. in der KW53 diesen Jahres liegt. Aber das kannst Du ja abfangen...

Gruß,
Lutz
Antworten Top
#3
Du brauchst nur 2 Arneitsblätter:


Angehängte Dateien
.xlsb   __Arbeitsplan_ewig.xlsb (Größe: 16,61 KB / Downloads: 7)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste