Creare nuove cartelle di lavoro che utilizzano VBA in Microsoft Excel
Potrebbero esserci casi in cui è necessario creare una nuova cartella di lavoro con un certo numero di fogli tramite un codice o una macro vba. Ecco una semplice macro che ti consente di creare una nuova cartella di lavoro> aprire e quindi salvare con un massimo di 255 nuovi fogli di lavoro. In questa macro di esempio, creeremo una nuova cartella di lavoro con 10 fogli di lavoro.
Option Explicit _Sub create_workbook ()
Dim wb As Workbook Set wb = NewWorkbook (10)
End Sub_ Function NewWorkbook (wsCount As Integer) As Workbook Dim OriginalWorksheetCount As Long Set NewWorkbook = Nothing If wsCount <1 Or wsCount> 255 Quindi esci dalla funzione OriginalWorksheetCount = Application.SheetsInNewWorkbook Application.SheetsAddInNewWorkbook = wsCheets Imposta NewWorkbook.Set OriginalWorksheetCount End Function Code Spiegazione:
Per prima cosa abbiamo una procedura chiamata “create_workbook“. In questa procedura, abbiamo una variabile wb come cartella di lavoro e chiamiamo la funzione NewWorkbook tramite questa variabile. Quindi viene chiamata la nuova funzione e thewscount è impostato su 10 che è il conteggio dei fogli di lavoro nella nuova cartella di lavoro.
Quindi andiamo alla funzione chiamata che è Function NewWorkbook (wsCount as Integer) come Workbook. Il valore per wsCount che è 10 viene passato dal sub create_workbook.
Set NewWorkbook = Nothing
Innanzitutto il NewWorkbook non è impostato su nulla in modo che possiamo cancellare qualsiasi altro valore che potrebbe essere assegnato ad esso in qualsiasi codice precedente.
Se wsCount <1 o wsCount> 255 quindi Exit Function
Successivamente, dobbiamo verificare se il valore trasmesso dal sub è minore di 1 o maggiore di 255. Se la risposta è sì a uno di questi controlli, esci dalla funzione.
OriginalWorksheetCount = Application.SheetsInNewWorkbook
C’è un parametro nella pagina delle opzioni di Excel in cui è impostato il numero di fogli da includere in una nuova cartella di lavoro. Passiamo questo valore alla variabile OriginalWorksheetCount . * La variabile conterrà il numero predefinito di fogli che era già preimpostato nelle opzioni di Excel.
Application.SheetsInNewWorkbook = wsCount
Quindi assegniamo il valore di wsCount che viene passato dal sub al parametro nelle opzioni excel per il numero di fogli da includere in una nuova cartella di lavoro. Quindi ora questo parametro cambierà dal vecchio valore a 10. Il vecchio valore potrebbe essere 1 o 3 o qualsiasi altro numero impostato dall’utente.
Set NewWorkbook = Workbooks.Add
Creiamo una nuova cartella di lavoro che viene assegnata a NewWorkbook. Questa nuova cartella di lavoro viene creata con il numero di fogli specificato in wsCount. Vedrai una nuova cartella di lavoro con 10 fogli intitolati da Sheet1 a Sheet10. Vedi l’immagine sotto per il nuovo file Book3 che è stato creato.
L’immagine qui sotto ti mostrerà il numero di fogli che sono stati creati nella nuova cartella di lavoro.
Anche il numero 10 verrà visualizzato nel parametro Application.SheetsInNewWorkbook nelle Opzioni di Excel come nell’immagine sotto –
Application.SheetsInNewWorkbook = OriginalWorksheetCount TheApplication.SheetsInNewWorkbook viene restituito al numero originale che era presente prima dell’impostazione di wsCount. Quindi, se il numero originale era 1 o 3, questo parametro tornerà ora a quel numero.
Se ti sono piaciuti i nostri blog, condividilo con i tuoi amici su Facebook. Puoi anche seguirci su Twitter e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a