Denna VBA-makro sparar den aktuella arbetsboken och sedan skapa en ny arbetsbok med ett datumbaserat filnamn för den nya veckan. Det hanterar potentiella fel graciöst.
`` VBA
Sub SaveandCreateNewweeklyworkbook ()
Dim WB som arbetsbok
Dim newwb som arbetsbok
Dim StrFileName som String
Dim StrFilePath som String
Dim DT som datum
'Få den aktuella arbetsboken
Ställ in WB =Thisworkbook
'Få det aktuella datumet
dt =datum
'Beräkna startdatum för den aktuella veckan (söndag)
dt =dt - vardag (dt, vbsunday) + 1
'Formatera datumet för filnamnet (YYYY-MM-DD)
StrFileName =format (dt, "yyyy-mm-dd") &"inkomst.xlsx"
'Ange filvägen (ändra detta till önskad plats)
STRFILEPATH ="C:\ din \ fil \ Path \" '<--- Ändra detta till din önskade väg
'Full filväg
StrFilePath =StrFilePath &StrFileName
'Spara den aktuella arbetsboken
Vid fel återupptas nästa "hantera potentiella fel under sparande
WB.Saveas FileName:=StrFilePath, FileFormat:=xlopenxmlworkbook
Om err. Number <> 0 då
Msgbox "Felbesparande arbetsbok:" &err. Beskrivning, vbcritical
Utgångssub
Slut om
På fel goto 0
'Skapa en ny arbetsbok
Ställ in newwb =arbetsböcker.Add
'Spara den nya arbetsboken med samma filväg men ett annat datum
dt =dt + 7 'nästa veckas datum
StrFileName =format (dt, "yyyy-mm-dd") &"inkomst.xlsx"
STRFILEPATH ="C:\ Din \ File \ Path \" &StrFileName '<--- Ändra detta till din önskade väg
Vid fel återupptas nästa
newwb.saveas filnamn:=StrFilePath, FileFormat:=xlopenxmlworkbook
Om err. Number <> 0 då
MSGBOX "Fel att skapa ny arbetsbok:" &err. Beskrivning, VBCritical
newwb.close savechanges:=falskt 'nära utan att spara om fel inträffar
Utgångssub
Slut om
På fel goto 0
'Valfritt:Lägg till en meddelandelåda för att bekräfta slutförandet.
MSGBOX "Workbook Saved and New Weekly Workbook Created.", Vbinformation
Slutsub
`` `
innan du kör:
1. Ändra `" C:\ din \ fil \ Path \ "`: Absolut avgörande För att ersätta denna platshållare med den faktiska mappvägen där du vill spara dina Excel -filer. Felaktiga vägar kommer att leda till fel. Se till att mappen finns.
2. Öppna VBA -redaktör: I Excel, tryck på ALT + F11 för att öppna VBA -redigeraren.
3. Infoga en modul: Gå till Insert> Module i VBA -redaktören.
4. klistra koden: Klistra in hela koden i modulen.
5. Kör makro: Gå tillbaka till Excel och kör makroet (du kan behöva tilldela det till en knapp eller köra den från utvecklarfliken> makron).
Hur det fungerar:
* sparar den aktuella arbetsboken: Koden sparar först den aktiva arbetsboken med ett filnamn baserat på den aktuella veckans startdatum (söndag).
* skapar en ny arbetsbok: Den lägger sedan till en ny, tom arbetsbok.
* namn och sparar den nya arbetsboken: Den nya arbetsboken sparas med ett filnamn baserat på * nästa * veckas startdatum.
* Felhantering: "On Error CV Next" och felkontroll uttalanden förhindrar makroet från att krascha om det finns problem att spara filer (t.ex. otillräckliga behörigheter, fil finns redan). Det ger informativa felmeddelanden.
* filformat: `xlopenxmlworkbook` säkerställer kompatibilitet med moderna Excel -versioner (.xlsx).
Kom ihåg att säkerhetskopiera dina data regelbundet, eftersom automatiserade processer ibland kan stöta på oväntade problem. Testa detta makro noggrant på en provfil innan du använder den med viktiga data.