In Excel, selezionare tutti i fogli di lavoro visibili è facile come fare clic con il pulsante destro del mouse su qualsiasi scheda di foglio e scegliere Seleziona tutti i fogli. Tuttavia, eseguire la stessa attività con il codice VBA è più difficile.
La guida in linea di Excel suggerisce di utilizzare la funzione Array con la collezione Sheets per selezionare i fogli per nome. Funziona alla grande quando conosci i nomi di ogni foglio nella cartella di lavoro. Ciò pone un problema quando si desidera creare codice generico per selezionare tutti i fogli per qualsiasi cartella di lavoro. La buona notizia è che puoi utilizzare una variante della tecnica di Microsoft per fare riferimento ai fogli in base al numero di indice. Di seguito il codice:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Funziona alla grande, a meno che la cartella di lavoro non contenga fogli nascosti, dove Sheets(i).Visible = False. Naturalmente, il codice sopra può essere adattato per ignorare i fogli di lavoro nascosti:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Tuttavia, esiste un parametro poco conosciuto del metodo Select: il parametro Replace. Utilizzando il parametro Replace, la selezione di tutti i fogli visibili diventa molto più semplice:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Si noti che mySheet è definito come un tipo di dati Object, invece di un tipo di dati Worksheet. Questo viene fatto perché durante i test ho riscontrato un problema con i fogli grafici: non sarebbero stati selezionati perché non erano di tipo Worksheet.