Questo tutorial ti insegnerà come eliminare o cancellare un foglio di lavoro usando VBA.
Elimina foglio di lavoro
Utilizzare il comando Elimina per eliminare un foglio di lavoro.
Elimina foglio di lavoro per nome
1 | Fogli("Foglio1").Elimina |
Elimina foglio di lavoro per numero di indice
Questo codice elimina il primo foglio di lavoro nella cartella di lavoro:
1 | Fogli(1).Elimina |
Questo codice elimina l'ultimo foglio di lavoro nella cartella di lavoro:
1 | Fogli(Fogli.Conteggio).Elimina |
Elimina foglio di lavoro senza prompt
Quando tenti di eliminare un foglio di lavoro, Excel ti chiederà di confermare la tua azione:
Puoi disabilitare questi prompt (avvisi) attivando DisplayAlerts:
123 | Application.DisplayAlerts = FalseFogli("Foglio1").EliminaApplication.DisplayAlerts = True |
Elimina foglio se esiste
Se tenti di eliminare un foglio di lavoro che non esiste, VBA genererà un errore. Con On Error Resume Next puoi dire a VBA di eliminare un foglio se esiste, altrimenti passa alla riga di codice successiva:
123 | In caso di errore Riprendi AvantiFogli("Foglio1").EliminaIn caso di errore Vai a 0 |
Puoi anche utilizzare la nostra funzione RangeExists per verificare se esiste un foglio e, in tal caso, eliminarlo.:
123 | If RangeExists("Sheet1") ThenFogli("Foglio1").EliminaFinisci se |
Cancella foglio
Questo codice cancellerà un intero foglio di contenuti, formati e tutto il resto:
1 | Fogli("Foglio1").Cells.Clear |
Cancella contenuto foglio
Questo codice cancellerà il contenuto di un intero foglio. Lascerà la formattazione, i commenti e tutto il resto da soli:
1 | Fogli("Foglio1").Cells.ClearContents |
Gamma di fogli trasparenti usati
Gli esempi precedenti cancelleranno TUTTE le celle in un foglio di lavoro. Questo può richiedere molto tempo in fogli di grandi dimensioni. Se utilizzi invece UsedRange, VBA cancellerà solo le celle "usate" che contengono valori, formati, ecc.
1 | Fogli("Foglio1").UsedRange.Clear |