Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
... e aggiungo:
Una precisazione, però, andrebbe fatta riguardo gli eventuali moduli di classe del Progetto VBA creati da noi: devono essere esplicitamente istanziati in variabili oggetto con visibilità globale, esattamente come succede con gli oggetti Workbook e Worksheet dell'esempio, che però sono istanziati implicitamente all'avvio.
Spero di non aggiungere confusione con il seguente esempio, perché lo scopo sarebbe esattamente il contrario. Sperém...
__________________________________________
' Standard Module : modGlobal
'
Option Explicit
Public mySample As clsSample
Public Pippo As String
__________________________________________
' Class Module : clsSample
'
Option Explicit
Public Pippo As String
__________________________________________
' Class Module : ThisWorkbook - Workbook
'
Option Explicit
Public Pippo As String
Private Sub Workbook_BeforeClose(ByRef Cancel As Boolean)
Set mySample = Nothing
End Sub
Private Sub Workbook_Open()
modGlobal.Pippo = "Ciao 1!" ' (il nome del modulo qui è necessario
' perché dal punto di vista di
' Workbook prima viene il "suo" Pippo, poi
' quello globale.
If mySample Is Nothing Then Set mySample = New clsSample
mySample.Pippo = "Ciao 2!"
Me.Pippo = "Ciao 3!"
Me.Worksheets("Foglio1").Pippo = "Ciao 4!"
End Sub
__________________________________________
' Class Module : Foglio1 - Worksheet
'
Option Explicit
Public Pippo As String
Private Sub Worksheet_Activate()
MsgBox modGlobal.Pippo, , TypeName(modGlobal.Pippo)
MsgBox mySample.Pippo, , TypeName(mySample)
MsgBox Me.Pippo, , TypeName(Me)
MsgBox Me.Parent.Pippo, , TypeName(Me.Parent)
End Sub
__________________________________________