Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> .

Come puoi creare una macro in Excel che salva la cartella di lavoro del reddito e quindi crea nuova ogni settimana?

Questa macro VBA salverà la cartella di lavoro attuale e quindi creerà una nuova cartella di lavoro con un nome file basato sulla data per la nuova settimana. Gestisce potenziali errori con grazia.

`` `VBA

Sub SaveAndCreateNewweeklyBookbook ()

Dim WB come cartella di lavoro

Dim Newwb come cartella di lavoro

Dim strfilename come stringa

Dim StrfilePath come stringa

Dim dt come data

'Ottieni la cartella di lavoro attuale

Imposta wb =thisworkbook

'Ottieni la data corrente

dt =data

'Calcola la data di inizio della settimana corrente (domenica)

dt =dt - giorni feriali (dt, vbsunday) + 1

'Formatta la data per il nome file (YYYY-MM-DD)

strfilename =formato (dt, "yyyy-mm-dd") e "reddito.xlsx"

'Specifica il percorso del file (modifica questo nella posizione desiderata)

strfilePath ="C:\ your \ file \ path \" '<--- Cambia questo nel percorso desiderato

'Percorso completo

strfilePath =strfilePath &strfilename

'Salva la cartella di lavoro attuale

All'errore riprendi successivamente "gestire potenziali errori durante il salvataggio

WB.Saveas FileName:=StrfilePath, fileFormat:=xlopenxmlworkbook

Se err.number <> 0 allora

MSGBox "Errore salvataggio della cartella di lavoro:" &err.Description, VBCRITICH

USCI SUB

Termina se

Su errore goto 0

'Crea una nuova cartella di lavoro

Imposta newwb =bookbooks.add

'Salva la nuova cartella di lavoro con lo stesso percorso del file ma una data diversa

dt =dt + 7 'data della prossima settimana

strfilename =formato (dt, "yyyy-mm-dd") e "reddito.xlsx"

strfilePath ="c:\ your \ file \ path \" &strfilename '<--- cambia questo sul percorso desiderato

Sull'errore riprendi successivo

NEWWB.Saveas FileName:=StrfilePath, fileFormat:=xlopenxmlworkbook

Se err.number <> 0 allora

MSGBox "Errore Creazione di una nuova cartella di lavoro:" &err.Description, VBCRITICE

newwb.Close SaveChanges:=false 'chiudi senza salvare se si verifica un errore

USCI SUB

Termina se

Su errore goto 0

'Facoltativo:aggiungi una casella di messaggio per confermare il completamento.

MSGBox "libro di lavoro salvato e nuova cartella di lavoro settimanale creata.", VbInformation

Fine sub

`` `

prima di correre:

1. Modifica `" C:\ your \ file \ path \ "`: Assolutamente cruciale Per sostituire questo segnaposto con il percorso effettivo della cartella in cui si desidera salvare i file Excel. I percorsi errati porteranno a errori. Assicurati che la cartella esista.

2. Open VBA Editor: In Excel, premere Alt + F11 per aprire l'editor VBA.

3. Inserisci un modulo: Nell'editor VBA, vai su Insert> Modulo.

4. Incolla il codice: Incolla l'intero codice nel modulo.

5. Esegui la macro: Torna a Excel ed esegui la macro (potrebbe essere necessario assegnarlo a un pulsante o eseguirlo dalla scheda sviluppatore> macro).

Come funziona:

* salva la cartella di lavoro attuale: Il codice salva prima la cartella di lavoro attiva utilizzando un nome file in base alla data di inizio della settimana corrente (domenica).

* crea una nuova cartella di lavoro: Quindi aggiunge una nuova cartella di lavoro in bianco.

* Nomi e salva la nuova cartella di lavoro: La nuova cartella di lavoro viene salvata con un nome file in base alla data di inizio della * prossima * settimana.

* Gestione degli errori: L'errore riprende l'errore successivo e le istruzioni di controllo degli errori impediscono alla macro di arrestare se si verificano problemi di salvataggio dei file (ad esempio, autorizzazioni insufficienti, il file esiste già). Fornisce messaggi di errore informativi.

* Formato file: `xlopenxmlworkbook` garantisce la compatibilità con le moderne versioni Excel (.xlsx).

Ricorda di eseguire il backup dei tuoi dati regolarmente, poiché i processi automatizzati possono talvolta riscontrare problemi inaspettati. Prova questa macro accuratamente su un file di esempio prima di utilizzarlo con dati importanti.

 

software © www.354353.com