letstuit
Goto Top

Wöchentlich Automatisch Tabellenblatt kopieren, umbenennen und Datum in bestimmter Zelle aktualisieren

Hallo liebes Administrator-forum,

Ich arbeite an unserer Resourcenplanung und wir müssen diese wöchentlich um ein Tabellenblatt erweitern (dieses ist mit allen Mitarbeitern und Projekten gefüllt und kann einfach als Kopie eines "blanco"-Tabellenblattes übernommen werden).
Ich suche eine Möglichkeit wie Excel automatisch immer das Blanco Tabellenblatt kopiert und nach dem letzten KW"XX" Tabellenblatt einfügt, dieses dann von "Blanco (Kopie)" in die neue Woche "KW"XX+1" umbenennt und in der Zelle C6 das Datum auf den Montag dieser Kalenderwoche stellt (also Tabellenblatt der Vorwoche =C6+7 Tage.

Ich hab absolut keine Ahnung wie ich das hinbekommen kann und bin aus bisherigen Forumseinträgen auch nicht viel schlauer geworden.
Ich freue mich auf eure Hilfe für Lösungsvorschläge.

Euer Stuart

PS: Ich benutze einen Mac mit Microsoft für Mac 16.29.1

Content-ID: 504667

Url: https://administrator.de/forum/woechentlich-automatisch-tabellenblatt-kopieren-umbenennen-und-datum-in-bestimmter-zelle-aktualisieren-504667.html

Ausgedruckt am: 21.04.2025 um 09:04 Uhr

godlie
godlie 14.10.2019 um 13:03:42 Uhr
Goto Top
Hallo,

also das ganze lässt sich ja sehr einfach erstellen.

Verwende dazu doch einfach mal den Macrorecorder von Excel, fügst ein paar Variablen hinzu.

Danach wirfst dir den Automator an und zeichnest dir einfach den Ablauf -> Datei öffnen -> Makros Zulassen -> Makro ausführen -> Speichern auf.

Des ganze dann als Cronjob abgelget und fertig
141320
Lösung 141320 14.10.2019 aktualisiert um 16:18:39 Uhr
Goto Top
Sub CopyTemplate()
    Dim last As Worksheet, sh As Worksheet, kw As Integer
    For Each sh In Sheets
        If Left(sh.Name, 2) = "KW" Then Set last = sh  
    Next
    Sheets("Blanco").Copy After:=last  
    With Sheets(last.Index + 1)
        kw = IIf(CInt(Right(last.Name, 2)) <= 51, CInt(Right(last.Name, 2)) + 1,1)
        .Name = "KW" & Right("0" & CStr(kw), 2)  
        .Tab.ColorIndex = xlColorIndexNone
        .Range("C6").Value = Sheets(last.Index).Range("C6").Value + 7  
    End With
End Sub
Letstuit
Letstuit 14.10.2019 um 16:08:19 Uhr
Goto Top
Vielen Dank @141320,

funktioniert soweit gut. Wie kriege ich es jetzt hin, dass sich die sheet color auch wieder auf "no color" setzt, derzeit ist das blanco in rot damit niemand darauf zugreift. (Hatte ich vergessen zu erwähnen in meiner Frage, sorry dafür)

und habe ich richtig verstanden, dass ich jetzt trotzdem aber noch einen Button kreieren muss um die Marko durchführen zu lassen?

Optimal wäre es, wenn die Makro abhängig von der aktuellen KW automatisch die KW-Sheets der nächsten 4 Wochen erstellt. Geht sowas ohne dass ich irgendwo mehr irgendwas drücken muss?

Bin so aber schon sehr happy, vielen vielen dank face-smile
141320
141320 14.10.2019 aktualisiert um 16:21:38 Uhr
Goto Top
Zitat von @Letstuit:
funktioniert soweit gut. Wie kriege ich es jetzt hin, dass sich die sheet color auch wieder auf "no color" setzt, derzeit ist das blanco in rot damit niemand darauf zugreift. (Hatte ich vergessen zu erwähnen in meiner Frage, sorry dafür)
s. ergänzte Zeile 10 oben.
und habe ich richtig verstanden, dass ich jetzt trotzdem aber noch einen Button kreieren muss um die Marko durchführen zu lassen?
Fürs Beispiel ja, zwingt dich aber keiner.
Optimal wäre es, wenn die Makro abhängig von der aktuellen KW automatisch die KW-Sheets der nächsten 4 Wochen erstellt. Geht sowas ohne dass ich irgendwo mehr irgendwas drücken muss?
Klar, Workbook_Open Event nutzen Kalenderwoche abfragen und per IF prüfen dann geht's auch automatisch nach dem Öffnen ...
Das lass ich dir als Hausaufgabe, sollst ja auch noch etwas Spaß haben face-wink.
Letstuit
Letstuit 15.10.2019 um 17:22:21 Uhr
Goto Top
Haha ja danke dir.

Ich setz mich dran.

Mega Hilfe, bin sehr happy
LG
Stuart