Excel VBA Tabelleblätter kopieren und Umbenennnen
Hallo,
ich habe ein fertiges Tabellenblatt welches ich jetzt für jeden Tag im Jahr kopieren müsste.
Nun dachte ich das man mit VBA vielleicht die Blätter mit einmal anlegen könnte.
Das heist also das von mir angelegte Tabellenblatt soll immer wieder kopiert werden
und dann zum Beispiel gleich den richtigen Namen erhalten.
Zum Beispiel: Mo für Montag + Datum 02.01.17 ALSO.... Mo 02.01.17
Ist sowas möglich? Normales kopieren bekomm ich mit VBA hin aber das eben nicht.
MfG
Florian86
ich habe ein fertiges Tabellenblatt welches ich jetzt für jeden Tag im Jahr kopieren müsste.
Nun dachte ich das man mit VBA vielleicht die Blätter mit einmal anlegen könnte.
Das heist also das von mir angelegte Tabellenblatt soll immer wieder kopiert werden
und dann zum Beispiel gleich den richtigen Namen erhalten.
Zum Beispiel: Mo für Montag + Datum 02.01.17 ALSO.... Mo 02.01.17
Ist sowas möglich? Normales kopieren bekomm ich mit VBA hin aber das eben nicht.
MfG
Florian86
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 329289
Url: https://administrator.de/forum/excel-vba-tabelleblaetter-kopieren-und-umbenennnen-329289.html
Ausgedruckt am: 23.04.2025 um 13:04 Uhr
8 Kommentare
Neuester Kommentar
Moin,
dann brauchst du nur noch eine Schleife und ein paar Datumsbefehle
Gruß Krämer
dann brauchst du nur noch eine Schleife und ein paar Datumsbefehle
for oder aber auch while
date
dateadd
weekday
Gruß Krämer
Hallo,
Hat man dir schon gesagt. Mit einer Schleife (nein, die Rosafarbene).
Und sicher das du als Name wirklich "Mo 02.01.2017" nehmen willst. Das gibt, falls du mal die Blätter sortieren willst ein kleines Chaos - und nix nach Datum...
Gruß,
Peter
Hat man dir schon gesagt. Mit einer Schleife (nein, die Rosafarbene).
DIM Tag as Integer
Tag = 1
For Tag = 1 to 365
REM Hier tut sich nichts
Tag = Tag +1
Next
Und sicher das du als Name wirklich "Mo 02.01.2017" nehmen willst. Das gibt, falls du mal die Blätter sortieren willst ein kleines Chaos - und nix nach Datum...
Gruß,
Peter

Wer auch immer sich solch ein Schema ausgedacht hat X-)
Sub CreateSheets()
Const VORLAGE = "Tabelle1"
Const STARTDATE = "01.01.2017"
ENDDATE = DateAdd("yyyy", 1, STARTDATE)
d = CDate(STARTDATE)
Application.Screenupdating = False
While d < ENDDATE
Sheets(VORLAGE).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = WeekdayName(Weekday(d, vbMonday), True, vbMonday) & " " & d
d = d + 1
Wend
Application.Screenupdating = True
End Sub
For i = 0 To 365
Nicht jedes Jahr hat 365 bzw bei dir 366 Tage(Schaltjar) :-P