13 – Le MACRO con Excel – Fogli di lavoro

Sfruttando il codice VBA, vedremo quali istruzioni dobbiamo usare per aggiungere un nuovo foglio, posizionarlo davanti oppure in mezzo ad altri fogli, come dare un nome o rinominare un foglio già presente.

Per creare la nuova macro portiamoci in Sviluppo, scegliamo Macro e diamo il nome alla nostra nuova macro che chiameremo “Foglio” e quindi diamo Crea


Poiché il nostro intento è quello di aggiungere un nuovo foglio, nell’area di sviluppo andiamo a digitare un comando molto semplice:

Worksheets.Add

Facciamo partire la macro premendo F8

Essendoci già 2 fogli nella cartella di lavoro Excel aggiungerà il nuovo foglio nominandolo “Foglio3”


Per capire meglio il criterio usato da Excel per posizionare un nuovo foglio, ci basterà riscrivere il comando precedente e non appena premeremo la barra spaziatrice, verranno evidenziati ulteriori parametri di scelta.


Before ed After ci diranno dove posizionare il nuovo foglio, come abbiamo appena potuto verificare non specificando nulla per default Excel inserirà il nuovo foglio prima del foglio selezionato.

Volendo aggiungere un foglio dopo il “Foglio2” dovremo scrivere:

Worksheets.Add , Worksheets(“Foglio2”)

Mentre se volessimo aggiungere un nuovo foglio prima del “Foglio1”, dovremo scrivere:

Worksheets.Add Worksheets(“Foglio1”)


Piano piano la nostra cartella di lavoro si sta popolando, se volessimo aggiungere un nuovo foglio dopo l’ultimo foglio inserito, dovremo indicare ad Excel il nome del foglio più a destra, se non siamo a conoscenza del nome o molto più semplicemente non vogliamo inserire ogni volta un nome diveso all’interno della macro, ci basterà dire ad Excel di inserire un nuovo foglio dopo l’ultimo foglio presente tramite il comando Sheets.Count.

Il comando Sheets.Count conterà quanti fogli sono già presenti, così aggiungerà un nuovo foglio subito dopo l’ultimo presente

Quindi scriviamo:

Worksheets.Add , Worksheets(Sheets.Count)


Se fino ad ora abbiamo visto come e dove aggiungere un nuovo foglio ora vediamo come dare un nome al foglio. Semplicemete ci basterà usare il comando Name, indicando il nome tra apici in questo modo:

 Worksheets.Add.Name = “Excel”


Ma vediamo come rinominare un foglio di lavoro.

Se l’intento è quello di cambiare il nome all’ultimo foglio inserito, modificandolo da “Foglio6” ad “Excel 1” scriveremo:

Worksheets(“Foglio6”).Name = “Excel 1”


Passiamo ora a vedere come modificare la posizione di un foglio.

In questo caso vogliamo mettere il foglio “Excel” prima del “Foglio4”, per fare ciò useremo la funzione Move:

Worksheets(“Excel”).Move before:=Worksheets(“Foglio4”)


Passiamo ora ad eliminare un foglio, in questo caso non dovremo fare altro che indicare il nome del foglio, per esempio il “Foglio4” seguito dal comando Delete quindi scriviamo:

Worksheets(“Foglio4”).Delete

Per sicurezza un avviso ci chiederà di confermare l’operazione che stiamo facendo.


I fogli possono essere anche nascosti, quindi vediamo che comando usare per fare questa operazione, l’istruzione Visible ci aiuterà in questo intento, quindi volendo nascondere il “Foglio2” dovremo scrivere:

Worksheets(“Foglio2”).Visible = False


Per verifica se ci portiamo nella cartella di lavoro, pulsante destro del mouse con il comando Scopri, vediamo che il “Foglio2” è presente ma nascosto

Infine nel caso volessimo fare l’operazione inversa ci basterà modificare il valore False in True

Worksheets(“Foglio2”).Visible = True

Ed il “foglio2” comparirà nuovamente


Di seguito il codice utilizzato:


Nel video qui sotto trovate tutti i passaggi appena illustrati, buona visione.