Christian si chiede se, quando si utilizzano più fogli di lavoro, esista un modo per “bloccare” lo scorrimento di tutti i fogli di lavoro. Ad esempio, se scorre verso il basso e trasversalmente sul Foglio1 fino a visualizzare le righe da 100 a 140 e le colonne da G a P, quando passa a Foglio2 (o qualsiasi altro foglio di lavoro) vorrebbe che le stesse righe e colonne fossero mostrate su quel foglio di lavoro.
L’unico modo per eseguire questa operazione è attraverso l’uso di macro. Quello che deve succedere è che la macro deve determinare quali righe e colonne sono visibili quando un foglio viene disattivato (viene abbandonato) e quindi impostare la visualizzazione del foglio attivato (quello che stai per visualizzare) sulle stesse righe e colonne. Le seguenti macro, aggiunte al modulo Questa_cartella_di_lavoro, eseguono esattamente questa operazione.
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 l’uso delle variabili al di fuori dei gestori di eventi. Queste variabili vengono utilizzate per passare i valori della colonna, della riga e dell’area selezionata dal gestore SheetDeactivate al gestore SheetActivate.
Certo, potresti non volere una soluzione automatica. Invece, potresti volere che l’utente esegua un passaggio specifico da attivare se i fogli di lavoro sono sincronizzati. Questo può essere fatto aggiungendo la seguente macro a un normale modulo nella tua cartella di lavoro:
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)
Tutto ciò che fa questa macro è controllare lo stato della variabile globale WindowSyncOn. Se il valore è False, le impostazioni correnti per la riga superiore visibile e la colonna visibile più a sinistra vengono memorizzate nelle variabili globali. L’impostazione di queste variabili viene quindi utilizzata dal seguente gestore di eventi, aggiunto al modulo Questa_cartella_di_lavoro:
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)
La macro controlla semplicemente l’impostazione della variabile WindowSyncOn e, se è True (è stata impostata), la macro imposta quale riga e colonna si trovano nella parte superiore e sinistra della finestra attiva.