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-Key: 504667

Url: https://administrator.de/contentid/504667

Printed on: April 23, 2024 at 13:04 o'clock

Member: godlie
godlie Oct 14, 2019 at 11:03:42 (UTC)
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
Mitglied: 141320
Solution 141320 Oct 14, 2019 updated at 14:18:39 (UTC)
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
Member: Letstuit
Letstuit Oct 14, 2019 at 14:08:19 (UTC)
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
Mitglied: 141320
141320 Oct 14, 2019 updated at 14:21:38 (UTC)
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.
Member: Letstuit
Letstuit Oct 15, 2019 at 15:22:21 (UTC)
Goto Top
Haha ja danke dir.

Ich setz mich dran.

Mega Hilfe, bin sehr happy
LG
Stuart