Excel offre una varietà di modi per passare da un foglio di lavoro a un altro in una cartella di lavoro. Se vuoi disabilitare lo spostamento tra i fogli di lavoro, hai un compito difficile davanti a te a causa della varietà di metodi per i quali devi fare qualcosa.

Ad esempio, un modo per spostarsi tra i fogli di lavoro è premere Ctrl + Pagina su o Ctrl + Pagina giù. Per disabilitare questi tasti per una particolare cartella di lavoro, è necessario utilizzare il metodo OnKey, nel modo seguente:

Private Sub Workbook_Activate()

Application.OnKey "^{PgDn}", ""

Application.OnKey "^{PgUp}", ""

End Sub
Private Sub Workbook_Deactivate()

Application.OnKey "^{PgDn}"

Application.OnKey "^{PgUp}"

End Sub

Queste due macro dovrebbero essere inserite nell’oggetto ThisWorkbook. Il primo viene eseguito ogni volta che la cartella di lavoro viene attivata e disabilita Ctrl + Pagina su e Ctrl + Pagina giù non facendo eseguire nulla quando vengono premuti. La seconda macro viene eseguita quando la cartella di lavoro è disattivata e riattiva le chiavi.

Esistono ancora molti altri modi per passare da un foglio di lavoro all’altro, come selezionare manualmente il foglio, utilizzare Vai a, collegamenti ipertestuali, ecc. Il modo più semplice per impedire lo spostamento tra i fogli di lavoro è nascondere i fogli di lavoro a cui non si desidera accedere. Proteggere la cartella di lavoro e proteggere il progetto VB aiuterà anche a “impedire” all’utente di spostarsi tra i fogli.

Se i fogli sono nascosti, non possono essere selezionati e quindi non è possibile spostarsi su di essi. Vai a non andrà a loro, i collegamenti ipertestuali non andranno a loro.

Se si desidera che gli utenti possano visualizzare i fogli di lavoro nascosti in un secondo momento, è necessario creare una routine macro con i propri controlli / pulsanti per accedere a quei fogli. Questa routine “scoprirà” il foglio che stai per visualizzare e nasconde quello che hai appena lasciato.

A seconda delle tue esigenze, c’è un altro approccio che puoi provare. È possibile aggiungere la seguente macro all’oggetto ThisWorkbook:

Private Sub Workbook_SheetDeactivate(ByVal mySheet As Object)

Application.EnableEvents = False     mySheet.Activate     Application.EnableEvents = True End Sub

Questa macro viene eseguita ogni volta che il foglio di lavoro corrente viene disattivato.

Essenzialmente “riattiva” il foglio di lavoro lasciato, il che significa che nessun altro foglio di lavoro potrà mai essere selezionato.

_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 (11210) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: