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> apri e quindi salva 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.
Opzione esplicita
Sub create_workbook()
Dim wb come cartella di lavoro
Imposta wb = NewWorkbook(10)
Fine sottotitolo
Funzione NewWorkbook(wsCount As Integer) As Workbook
Foglio di lavoro originale dim Conta come lungo
Imposta Nuova cartella di lavoro = Niente
Se wsCount 255 quindi esci dalla funzione
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Imposta NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Fine funzione
Spiegazione del codice:
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 wscount è impostato su 10, che è il conteggio dei fogli di lavoro nella nuova cartella di lavoro.
Quindi andiamo alla funzione chiamata che è Funzione NewWorkbook (wsCount come numero intero) come cartella di lavoro. Il valore per wsCount che è 10 viene passato dal subcreate_workbook.
Imposta Nuova cartella di lavoro = Niente
Innanzitutto il NewWorkbook non è impostato su niente in modo che possiamo cancellare qualsiasi altro valore che potrebbe essere assegnato ad esso in qualsiasi codice precedente.
Se wsCount 255 quindi esci dalla funzione
Successivamente, dobbiamo verificare se il valore passato dal sub è minore di 1 o maggiore di 255. Se la risposta è sì a uno di questi controlli, allora esci dalla funzione.
OriginalWorksheetCount = Application.SheetsInNewWorkbook
C'è un parametro nella pagina delle opzioni excel in cui è impostato il numero di fogli da includere in una nuova cartella di lavoro. Passiamo questo valore alla variabile OriginalWorksheetCount.La variabile manterrà il numero predefinito di fogli che era già preimpostato nelle opzioni 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.
Imposta 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. Guarda la foto sotto per il nuovo file Book3 che è stato creato.
L'immagine 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 in Opzioni di Excel come nell'immagine qui 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 ora tornerà a quel numero.
Se ti è piaciuto il nostro blog, condividilo con i tuoi amici su Facebook. E puoi anche seguirci su Twitter e Facebook.
Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare, completare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a sito di posta elettronica