John deve assicurarsi che alcune azioni siano state eseguite (informazioni aggiunte, ecc.) Prima che un utente lasci un foglio di lavoro. Si chiede se esiste una sorta di evento macro come WorksheetBeforeDeactivate.

In realtà ci sono due eventi che potresti usare per questo scopo. Puoi usare l’evento SheetDeactivate nel modulo ThisWorkbook per attivare azioni ogni volta che un utente lascia un foglio di lavoro nella cartella di lavoro:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

MsgBox Prompt:="You just left sheet:" & Sh.Name End Sub

Se vuoi attivare azioni solo quando lasciano un particolare foglio di lavoro, puoi usare l’evento Disattivazione nell’oggetto Foglio di lavoro:

Private Sub Worksheet_Deactivate()

' sheet specific code goes here End Sub

Dovresti sapere, tuttavia, che in entrambi i casi il foglio di lavoro a cui l’utente sta scegliendo di andare sarà il foglio di lavoro attivo al termine dell’evento. Se vuoi costringere l’utente a rimanere sul foglio di lavoro, devi rimetterlo specificamente nel foglio di lavoro, in questo modo:

Private Sub Worksheet_Deactivate()

' sheet specific code goes here     Sheets("Sheet1").Select End Sub

Ciò presuppone, ovviamente, che il nome del foglio di lavoro su cui si desidera che l’utente rimanga è Foglio1.

_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 (7730) 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 di menu precedente di Excel qui: