Dieses VBA-Makro speichert die aktuelle Arbeitsmappe und erstellt dann eine neue Arbeitsmappe mit einem Datum des Datums für die neue Woche. Es behandelt potenzielle Fehler anmutig.
`` `vba
Sub SaveandCreateNewweeklyworkbook ()
Dim WB als Arbeitsmappe
Dim Newwb als Arbeitsmappe
Dimer Strafilename als Zeichenfolge
Dim StrFilepath als String
Dim DT als Datum
'Holen Sie sich das aktuelle Arbeitsbuch
Setzen Sie WB =ThisWorkbook
'Holen Sie sich das aktuelle Datum
dt =Datum
'Berechnen Sie das Startdatum der aktuellen Woche (Sonntag)
dt =dt - wochentag (dt, vbsunday) + 1
Formatieren Sie das Datum für den Dateinamen (yjyy-mm-dd)
StrFileName =Format (dt, "yyyy-mm-dd") &"Income.xlsx"
' Specify the file path (change this to your desired location)
strFilepath ="C:\ Ihre \ file \ path \" '<--- Ändern Sie dies auf Ihren gewünschten Pfad
'Voller Dateipfad
strFilepath =strFilepath &strFileName
'Speichern Sie die aktuelle Arbeitsmappe
Bei Fehlerbehebung handelt es sich um potenzielle Fehler beim Speichern handelt
WB.Saveas Dateiname:=strFilepath, FileFormat:=xlopenxMlworkbook
Wenn err.number <> 0 dann dann
MSGBox "Fehlerspeicherungsarbeit:" &Err.Description, VBCRITICAL
Beenden sub
Ende wenn
Bei Fehler goto 0
'Erstellen Sie eine neue Arbeitsmappe
Setzen Sie newWB =workbooks.add
'Speichern Sie die neue Arbeitsmappe mit demselben Dateipfad, aber einem anderen Datum
DT =DT + 7 'Nächste Woche Datum der nächsten Woche
StrFileName =Format (dt, "yyyy-mm-dd") &"Income.xlsx"
strFilepath ="C:\ Ihre \ file \ path \" &strFileName '<--- Ändern Sie dies auf Ihren gewünschten Pfad
Bei der nächsten Fehleraufnahme als nächstes
newWB.Saveas Dateiname:=strFilepath, FileFormat:=xlopenxMlworkbook
Wenn err.number <> 0 dann dann
MSGBox "Fehler erstellen neuer Arbeitsbuch:" &err.description, vbcritical
newwb.close Savechanges:=false 'Schließen Sie ohne Speichern, wenn ein Fehler auftritt
Beenden sub
Ende wenn
Bei Fehler goto 0
'Optional:Add a message box to confirm completion.
MSGBox "Workbook Saved und New Weekly Workbook erstellt.", Vbinformation
Ende sub
`` `
Vor dem Laufen:
1. `` "c:\ your \ file \ path \" `: Absolut entscheidend Um diesen Platzhalter durch den tatsächlichen Ordnerpfad zu ersetzen, in dem Sie Ihre Excel -Dateien speichern möchten. Falsche Pfade führen zu Fehlern. Stellen Sie sicher, dass der Ordner existiert.
2. VBA -Editor öffnen: Drücken Sie in Excel Alt + F11, um den VBA -Editor zu öffnen.
3. Ein Modul einfügen: Gehen Sie im VBA -Editor zum Einfügen> Modul.
4. Fügen Sie den Code ein: Fügen Sie den gesamten Code in das Modul ein.
5. Makro ausführen: Gehen Sie zurück zu Excel und führen Sie das Makro aus (Sie müssen es möglicherweise einer Schaltfläche zuweisen oder über die Registerkarte Entwickler> Makros ausführen).
wie es funktioniert:
* speichert das aktuelle Arbeitsbuch: Der Code speichert das aktive Arbeitsbuch zunächst mit einem Dateinamen basierend auf dem Startdatum der aktuellen Woche (Sonntag).
* Erstellt ein neues Arbeitsbuch: Es fügt dann ein neues, leeres Arbeitsbuch hinzu.
* Namen und speichert das neue Arbeitsbuch: The new workbook is saved with a filename based on the *next* week's starting date.
* Fehlerbehandlung: Der "Auf Fehlerbehebung" und "Fehlerüberprüfungsanweisungen" verhindern, dass das Makro stürzt, wenn Probleme beim Speichern von Dateien vorhanden sind (z. B. unzureichende Berechtigungen, die Datei bereits vorhanden). Es enthält informative Fehlermeldungen.
* Dateiformat: `xlopenxMlworkbook` sorgt für die Kompatibilität mit modernen Excel -Versionen (.xlsx).
Denken Sie daran, Ihre Daten regelmäßig zu sichern, da automatisierte Prozesse manchmal auf unerwartete Probleme stoßen können. Testen Sie dieses Makro gründlich auf einer Beispieldatei, bevor Sie sie mit wichtigen Daten verwenden.