Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Andrea22,
da quel che dici quello che ti ho illustrato è proprio ciò di cui hai bisogno, invece. Vediamo perché non lo riconosci...
Forse perché insisti a pensare in termini di "entrare in un foglio"? Non si entra né si esce da un foglio. Si attiva, E, conseguentemente, il precedente si disattiva. Questi sono gli eventi che abbiamo a disposizione e con questi dobbiamo operare.
Inoltre... Parli di una macro presente in ThisWorkbook. Ma in ThisWorkbook non possono essere presenti macro. Le routine in ThisWorkbook, che è un modulo di classe, possono essere soltanto o routine di gestione degli eventi o metodi di ThisWorkbook. Le macro puoi scriverle soltanto in un modulo standard pubblico.
Per prendere confidenza con la cosa prova così, con una cartella di lavoro nuova al cui progetto Visual Basic aggiungerai un modulo:
' ThisWorkbook - Modulo di classe dell'oggetto Workbook
'
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox Sh.Name, vbOKOnly, "SheetActivate"
aMacro
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MsgBox Sh.Name, vbOKOnly, "SheetDeactivate"
End Sub
' Modulo1 - Modulo standard pubblico
'
Option Explicit
Public Sub aMacro()
MsgBox "aMacro", vbOKOnly, ThisWorkbook.ActiveSheet.Name
End Sub