Terri ha una macro che viene eseguita automaticamente all’apertura di un foglio di lavoro.

Una cosa che fa è visualizzare il primo foglio di lavoro nella cartella di lavoro, che di solito è chiamato “Consolidato”. Funziona alla grande, a meno che il primo foglio di lavoro non abbia questo nome. Quindi Terri deve ricordarsi di modificare la macro per specificare un nome di foglio di lavoro diverso. Si chiede se c’è un modo per scrivere la sua macro in modo che il primo foglio di lavoro sia sempre visualizzato, indipendentemente dal suo nome?

Normalmente, come allude Terri, dovresti visualizzare un dato foglio di lavoro usando il suo nome nell’istruzione, in questo modo:

Worksheets("Consolidated").Activate

Funziona alla grande, purché nella cartella di lavoro sia presente un foglio di lavoro con questo nome (Consolidato). La visualizzazione di un particolare foglio di lavoro (come il primo nella cartella di lavoro) quando non si sa quale potrebbe essere il nome di quel foglio di lavoro richiede un approccio diverso.

La risposta semplice è iniziare a fare riferimento al foglio di lavoro utilizzando la sua posizione all’interno della raccolta Fogli di lavoro. Tutti i fogli di lavoro in una cartella di lavoro appartengono a una raccolta di oggetti foglio di lavoro. Questa raccolta è (stranamente) indicata come raccolta di fogli di lavoro. Puoi fare riferimento a un singolo foglio di lavoro nella raccolta per nome (come è stato fatto nell’esempio precedente) oppure puoi fare riferimento ad essi utilizzando un numero di indice all’interno della raccolta. Ad esempio, puoi attivare il primo foglio di lavoro nella raccolta in questo modo:

Worksheets(1).Activate

Utilizzando questo metodo, non importa quale sia il nome del primo foglio di lavoro; potrebbe essere facilmente “Consolidato” o un altro nome.

Excel attiva diligentemente il primo foglio di lavoro nella cartella di lavoro.

L’unica volta che questo non funzionerebbe è se il primo foglio di lavoro nella cartella di lavoro è nascosto. Se il foglio di lavoro non è visibile, Excel automaticamente (dopo l’esecuzione di questa istruzione) visualizza il primo foglio di lavoro visibile.

Si noti che questo visualizza la prima scheda del foglio di lavoro (più a sinistra) nella cartella di lavoro. Se invece desideri visualizzare il primo foglio di lavoro creato in una cartella di lavoro, indipendentemente dalla sua posizione, puoi provare un approccio diverso. Ogni foglio di lavoro ha (in mancanza di un termine migliore) un “nome in codice” dietro le quinte. Questi nomi in codice dovrebbero suonare familiari; sono Foglio1, Foglio2, Foglio3 e così via. Questi nomi vengono mantenuti anche se è possibile modificare il nome del foglio di lavoro stesso o modificare la posizione delle schede. Se vuoi visualizzare il primo foglio di lavoro creato (di nuovo, indipendentemente dalla posizione), puoi provare quanto segue:

Sheet1.Activate

C’è un avvertimento a questo: è possibile che il nome in codice per i tuoi fogli di lavoro sia stato cambiato, se scrivi il codice di programmazione per farlo.

In tal caso, la dichiarazione di cui sopra potrebbe non fornire i risultati desiderati. (Il test è sempre una buona idea.)

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (12271) si applica a Microsoft Excel 97, 2000, 2002 e 2003.

Puoi trovare una versione di questo suggerimento per l’interfaccia a barra multifunzione di Excel (Excel 2007 e versioni successive) qui: