VBA Aggiungi nuovo foglio - Nome, prima/dopo e altri esempi

Questo tutorial discuterà come aggiungere/inserire fogli di lavoro utilizzando VBA.

Aggiungi foglio

Questa semplice macro aggiungerà un foglio prima di ActiveSheet:

123 Sotto Aggiungi ()Fogli.AggiungiFine sottotitolo

Dopo aver inserito un foglio, il nuovo foglio diventa ActiveSheet. Puoi quindi utilizzare l'oggetto ActiveSheet per lavorare con il nuovo Foglio (In fondo a questo articolo mostreremo come inserire un nuovo foglio direttamente in una variabile).

1 ActiveSheet.Name = "NuovoFoglio"

Aggiungi foglio con nome

Puoi anche definire un nome di foglio mentre crei il nuovo foglio:

1 Sheets.Add.Name = "NuovoFoglio"

Crea nuovo foglio con nome da una cella

Oppure usa un valore di cella per nominare un nuovo foglio:

1 Fogli.Aggiungi.Nome = range("a3").valore

Aggiungi foglio prima/dopo un altro foglio

Potresti anche voler scegliere la posizione in cui verrà inserito il nuovo foglio. È possibile utilizzare le proprietà Dopo o Prima per inserire un foglio in una posizione specifica nella cartella di lavoro.

Inserisci foglio dopo un altro foglio

Questo codice inserirà il nuovo foglio DOPO un altro foglio:

1 Fogli.Aggiungi dopo:=Fogli("Input")

Questo inserirà un nuovo foglio DOPO un altro foglio e specificherà il nome del foglio:

1 Fogli.Add(After:=Sheets("Input")).Name = "NuovoFoglio"

Notare la parentesi aggiuntiva richiesta nel secondo esempio (il primo esempio genererà un errore se viene aggiunta la seconda parentesi).

o prima:

1 Fogli.Add(Before:=Sheets("Input")).Name = "NuovoFoglio"

In questi esempi abbiamo chiamato esplicitamente il foglio utilizzato per determinare la posizione del foglio. Spesso vorrai utilizzare invece il numero di indice del foglio, in modo da poter inserire il foglio all'inizio o alla fine della cartella di lavoro:

Aggiungi foglio alla fine della cartella di lavoro

Per aggiungere un foglio alla fine della cartella di lavoro:

1 Fogli.Aggiungi dopo:=Fogli(Fogli.Conteggio)

Aggiungi foglio all'inizio della cartella di lavoro:

Per aggiungere un foglio all'inizio della cartella di lavoro:

1 Fogli.Add(Before:=Sheets(1)).Name = "FirstSheet"

Aggiungi foglio a variabile

Questo codice assegna il nuovo Foglio a una variabile man mano che il foglio viene creato:

12 Dim ws come foglio di lavoroImposta ws = Fogli.Aggiungi

Da qui puoi fare riferimento al nuovo foglio con la variabile 'ws':

1 ws.name = "VarSheet"

Altri esempi di foglio aggiuntivo

Crea foglio se non esiste già

Potresti voler creare un foglio solo se non esiste già.

Crea fogli di lavoro da un elenco di nomi

La seguente routine esaminerà il contenuto di una singola colonna impostando i fogli di lavoro Excel all'interno della cartella di lavoro corrente con questi nomi. Effettua una chiamata a un'altra funzione per vedere se esiste già un foglio con quel nome e, in tal caso, il foglio non viene creato.

1234567891011121314151617181920212223242526 Sub CommandButton1_Click privato ()Chiama CreateWorksheets(Sheets("Sheet2").Range("A1:a10"))Fine sottotitoloSub CreateWorksheets(Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPer i = 1 a No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells(i, 1).Value'Aggiungi foglio solo se non esiste già e il nome è più lungo di zero caratteriIf (Sheet_Exists(Sheet_Name) = False) And (Sheet_Name "") ThenFogli di lavoro.Add().Name = Sheet_NameFinisci seAvanti ioFine sottotitolo
1234567891011121314 Function Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet come foglio di lavoroFoglio_Esiste = FalsoPer ogni_foglio di lavoro in questa cartella di lavoro. Fogli di lavoroSe Work_sheet.Name = WorkSheet_Name ThenFoglio_Esiste = VeroFinisci seProssimoFine funzione

Quindi, se abbiamo il seguente testo nelle celle A1: A30 nel foglio 2:

Verranno quindi creati i seguenti fogli:

Si noti che sebbene "Cane" appaia due volte, viene creato un solo foglio.

Per scaricare il file .XLS per questo tutorial, fai clic qui.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave