Visualizzare automaticamente il primo foglio di lavoro con una macro

Teresa ha una macro che viene eseguita automaticamente all’apertura di una cartella 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 Teresa deve ricordarsi di modificare la macro per specificare il nome del foglio di lavoro se fosse diverso. Si chiede se esista 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 Teresa, visualizzeresti un determinato foglio di lavoro utilizzando il suo nome nell’istruzione, in questo modo:

 

Worksheets("Consolidato").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 sai quale potrebbe essere il nome di quel foglio di lavoro richiede un approccio diverso.

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

 

Worksheets(1).Activate

 

Usando questo metodo, non importa quale sia il nome del primo foglio di lavoro: potrebbe facilmente essere “Consolidato” o qualunque 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 tua cartella di lavoro fosse nascosto. Se il foglio di lavoro non è visibile, Excel automaticamente (dopo l’esecuzione di questa istruzione) visualizzerebbe il primo foglio di lavoro visibile.

Si noti che questa istruzione visualizzerà 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 (per mancanza di un termine migliore) un “nome in codice” dietro le quinte. Questi nomi in codice dovrebbero suonare familiari; sono Foglio1, Foglio2, Foglio3, ecc. 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

 

Presta però attenzione: è 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 (effettuare un test è sempre una buona idea).

Tags: ,

Ti è stato utile?