Replicare le impostazioni sui Riquadri bloccati nelle nuove finestre

Stefano ha un foglio di lavoro con molte righe e colonne di dati. Ha congelato la prima riga e la prima colonna attivando la cella B2 e quindi bloccando i riquadri. Questo funziona come vuole lui. Può persino salvare e chiudere la cartella di lavoro e i riquadri sono ancora bloccati quando riapre la cartella di lavoro. Tuttavia, se Stefano apre una nuova finestra per la cartella di lavoro (Visualizza > Finestra > Nuova finestra), la nuova finestra non ha riquadri bloccati. Poiché ha riquadri congelati su molti fogli di lavoro in questa cartella di lavoro, deve stare molto attento a quale finestra chiude per prima. Se chiude prima la finestra originale, quando salva la cartella di lavoro salva tutti i fogli di lavoro non bloccati. Stefano si chiede se ci sia un modo per fare in modo che la nuova finestra mantenga le impostazioni sui riquadri bloccati.

Non esiste alcuna impostazione in Excel che gestisca ciò di cui Stefano ha bisogno. Il motivo per cui i riquadri bloccati non vengono salvati è perché Blocca riquadri (insieme a Zoom, Dividi e alcune altre impostazioni) sono proprietà delle finestre, non dei fogli di lavoro o delle cartelle di lavoro. Quando viene creata una nuova finestra, le proprietà non vengono ereditate dalla finestra originale.

Puoi, tuttavia, aggirare questo comportamento (e risolvere il problema di Stefano) utilizzando una macro per copiare tali impostazioni. Un approccio molto breve consiste nel rinunciare all’utilizzo degli strumenti della barra multifunzione per creare la tua nuova finestra. Puoi, invece, aggiungere questa macro alla Barra di accesso rapido e usarla per creare la finestra:

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.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

La macro crea una nuova finestra, imposta le celle visibili uguali a quanto mostrato nella finestra originale, seleziona la cella B2 nella nuova finestra e quindi blocca i riquadri.

Questo semplice approccio potrebbe non funzionare, tuttavia, se le tue esigenze di “riquadri bloccati” sono più varie. Ad esempio, potresti desiderare un modo per creare una nuova finestra e farne corrispondere le impostazioni sui riquadri, qualunque esse siano.

La seguente macro controlla se la finestra corrente ha un riquadro bloccato. Se lo fa, capisce dove è bloccato e lo usa per impostare i riquadri bloccati in una nuova finestra. Se non ci sono riquadri bloccati, viene comunque creata una nuova finestra e nulla è bloccato. In entrambi i casi, nella nuova finestra viene selezionata la stessa cella selezionata nell’originale.

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.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Questo codice, ancora una volta, potrebbe essere utilizzato per creare qualsiasi nuova finestra che desideri. Realizza ciò che Stefano aveva bisogno di fare perché copiano le impostazioni sui riquadri bloccati dalla finestra attiva alla finestra appena creata, però copia solo i riquadri congelati del foglio attivo.

La prossima macro è solo la metà in dimensioni e molto più performante. Crea una seconda finestra che conserva i riquadri congelati (anche complessi) in tutti i fogli della cartella di lavoro attiva:

  • Cerca di creare una visualizzazione personalizzata preservando i riquadri bloccati in tutti i fogli (non avrà successo se, ad esempio, la cartella di lavoro contiene una tabella).
  • Quindi crea una nuova finestra.
  • Se la creazione di una vista personalizzata è andata a buon fine la applica alla seconda finestra.
  • Quindi elimina la vista personalizzata (se presente) perché non è più necessaria.
  • Se non è stato possibile creare una visualizzazione personalizzata, viene creata solo una normale seconda finestra e un MsgBox ti avverte di questo.

 

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.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Ti è stato utile?