VBA ActiveSheet e come attivare o selezionare un foglio

Questo articolo discuterà l'oggetto ActiveSheet in VBA. Discuterà anche come attivare, selezionare e andare a Fogli di lavoro (e molto altro). Leggi la nostra guida completa ai fogli di lavoro VBA per ulteriori informazioni sull'utilizzo dei fogli di lavoro in VBA.

Foglio attivo

In VBA, ActiveSheet fa riferimento al foglio di lavoro attualmente attivo. Può essere attivo un solo foglio alla volta.

Attiva foglio di lavoro (impostazione di ActiveSheet)

Per impostare ActiveSheet utilizzare Worksheet.Activate:

1 Fogli di lavoro("Input").Attiva

Il comando Attiva foglio andrà effettivamente al foglio, modificando il foglio visibile.

L'esempio sopra utilizza il nome del foglio (scheda). Invece puoi usare il nome in codice VBA per il foglio di lavoro:

1 Foglio1.Attiva

Nome foglio attivo

Per ottenere il nome ActiveSheet:

1 msgbox ActiveSheet.name

Fogli selezionati vs ActiveSheet

In qualsiasi momento, solo un foglio può essere ActiveSheet. Tuttavia, è possibile selezionare più fogli di lavoro contemporaneamente.

Quando vengono selezionati più fogli di lavoro, viene considerato attivo solo il foglio di lavoro "più in alto" (ActiveSheet).

Seleziona foglio di lavoro

Se desideri selezionare un foglio di lavoro invece di attivarlo. Utilizzare invece .Select.

Seleziona foglio di lavoro per nome scheda

Questo seleziona un foglio di lavoro in base al nome della scheda del foglio

1 Fogli("Inserimento").Seleziona

Seleziona foglio di lavoro per numero di indice

Questo seleziona un foglio di lavoro in base alla sua posizione rispetto ad altre schede

1 Fogli di lavoro(1).Seleziona

Seleziona foglio di lavoro con nome codice VBA

1 Foglio1.Seleziona

La selezione dei fogli di lavoro in base al nome del codice può prevenire errori causati dalle modifiche al nome del foglio di lavoro.

Seleziona il foglio di lavoro corrente

Per selezionare il foglio di lavoro corrente, utilizzare l'oggetto ActiveSheet:

1 ActiveSheet.Select

Altri esempi di attivazione / selezione di fogli

Imposta ActiveSheet su Variabile

Questo assegnerà l'ActiveSheet a una variabile oggetto del foglio di lavoro.

123 Dim ws come foglio di lavoroImposta ws = ActiveSheet

Cambia nome foglio attivo

Questo cambierà il nome di ActiveSheet.

1 ActiveSheet.Name = "NuovoNome"

Con ActiveSheet

L'utilizzo dell'istruzione With consente di semplificare il codice quando si lavora con oggetti (come Fogli o ActiveSheet).

12345 Con ActiveSheet.Name = "StartFresh".Celle.Cancella.Range("A1").Valore = .NomeTermina con

Nota come non è necessario ripetere "ActiveSheet" prima di ogni riga di codice. Questo può essere un enorme risparmio di tempo quando si lavora con un lungo elenco di comandi.

Passa attraverso i fogli selezionati

La seguente macro scorrerà tutti i fogli selezionati, visualizzandone i nomi.

12345678 Sub GetSelectedSheetsName()Dim ws come foglio di lavoroPer ogni ws in ActiveWindow.SelectedSheetsMsgBox ws.NameAvanti wFine sottotitolo

Vai al foglio successivo

Questo codice andrà al foglio successivo. Se ActiveSheet è l'ultimo foglio, andrà al primo foglio della cartella di lavoro.

12345 Se ActiveSheet.Index = Worksheets.Count ThenFogli di lavoro(1).AttivaAltroActiveSheet.Next.ActivateFinisci se

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

wave wave wave wave wave