Come aggiungere nuovi fogli in excel utilizzando vba
È possibile utilizzare i seguenti metodi in VBA per aggiungere nuovi fogli a una cartella di lavoro di Excel:
Metodo 1: aggiungi un nuovo foglio
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con un nome generato automaticamente che descrive il numero del foglio che rappresenta nella cartella di lavoro.
Ad esempio, se nella cartella di lavoro sono presenti tre fogli e si esegue questa macro, verrà creato un nuovo foglio con il nome Foglio4 .
Nota : per impostazione predefinita, VBA aggiungerà il nuovo foglio immediatamente prima del foglio attualmente attivo.
Metodo 2: aggiungi più nuovi fogli
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
Questa macro aggiungerà tre nuovi fogli alla cartella di lavoro.
Metodo 3: aggiungi un nuovo foglio con un nome
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con il nome MyNewSheet .
Metodo 4: aggiungi un nuovo foglio con un nome prima di un foglio specifico
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con il nome MyNewSheet subito prima del foglio esistente chiamato Teams .
Metodo 5: aggiungi un nuovo foglio con un nome dopo un foglio specifico
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con il nome MyNewSheet direttamente dopo il foglio esistente chiamato Teams .
Metodo 6: aggiungi un nuovo foglio con un nome alla fine della cartella di lavoro
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con il nome MyNewSheet alla fine della cartella di lavoro.
Metodo 7: aggiungi un nuovo foglio con un nome all’inizio della cartella di lavoro
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
Questa macro aggiungerà un nuovo foglio alla cartella di lavoro con il nome MyNewSheet all’inizio della cartella di lavoro.
I seguenti esempi mostrano come utilizzare nella pratica ciascun metodo con la seguente cartella di lavoro Excel con tre fogli esistenti:
Esempio 1: aggiungi un nuovo foglio
Possiamo creare la seguente macro per aggiungere un nuovo foglio alla cartella di lavoro con un nome generato automaticamente:
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
Quando eseguiamo questa macro, un nuovo foglio viene aggiunto alla cartella di lavoro con il nome Foglio4 subito prima del foglio Teams , che avevamo selezionato durante l’esecuzione della macro:
Esempio 2: aggiungi più nuovi fogli
Possiamo creare la seguente macro per aggiungere tre nuovi fogli alla cartella di lavoro con nomi generati automaticamente:
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
Quando eseguiamo questa macro, tre nuovi fogli vengono aggiunti alla cartella di lavoro direttamente prima del foglio Teams , che avevamo selezionato durante l’esecuzione della macro:
Esempio 3: aggiungi un nuovo foglio con un nome
Possiamo creare la seguente macro per aggiungere un nuovo foglio alla cartella di lavoro con un nome specifico:
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
Quando eseguiamo questa macro, un nuovo foglio denominato MyNewSheet viene aggiunto alla cartella di lavoro subito prima del foglio Teams , che avevamo selezionato durante l’esecuzione della macro:
Esempio 4: aggiungi un nuovo foglio con un nome prima di un foglio specifico
Possiamo creare la seguente macro per aggiungere un nuovo foglio alla cartella di lavoro direttamente prima di un foglio esistente specifico:
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Quando eseguiamo questa macro, un nuovo foglio denominato MyNewSheet viene aggiunto alla cartella di lavoro direttamente prima del foglio Teams :
Esempio 5: aggiungi un nuovo foglio con un nome dopo un foglio specifico
Possiamo creare la seguente macro per aggiungere un nuovo foglio alla cartella di lavoro direttamente dopo uno specifico foglio esistente:
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Quando eseguiamo questa macro, un nuovo foglio denominato MyNewSheet viene aggiunto alla cartella di lavoro direttamente dopo il foglio Teams :
Esempio 6: aggiungi un nuovo foglio con un nome alla fine della cartella di lavoro
Possiamo creare la seguente macro per aggiungere un nuovo foglio alla fine della cartella di lavoro:
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
Quando eseguiamo questa macro, alla fine della cartella di lavoro viene aggiunto un nuovo foglio denominato MyNewSheet :
Esempio 7: aggiungi un nuovo foglio con un nome all’inizio della cartella di lavoro
Possiamo creare la seguente macro per aggiungere un nuovo foglio all’inizio della cartella di lavoro:
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
Quando eseguiamo questa macro, un nuovo foglio denominato MyNewSheet viene aggiunto all’inizio della cartella di lavoro:
Nota : puoi trovare la documentazione completa per il metodo Sheets.Add qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come trovare l’ultima riga utilizzata
VBA: come trovare l’ultima colonna utilizzata
VBA: come contare il numero di fogli in una cartella di lavoro