Si ho visto, riporto per praticità, mi dici:
"Dichiarare una variabile prima delle sub equivale a dichiararla globale, cioè accessibile da tutte le sub, per accertartene puoi fare delle prove. Non esitare a testare varie soluzioni, è così che si impara."
Ho provato...ma non capisco come fare... in questo esempio io metto nell'intestazione
Codice: Seleziona tutto
Dim XYZ As String
XYZ = "Ciao"
Sub Pippo 'oppure Pluto, Orazio o Clarabella
Saluto = InputBox ("Inserire il valore di XYZ", 0, "Prova:")
If Saluto <> XYZ Then
MsgBox "Codice Errato, Ritenta.", "Errato"
Exit Sub
Else
MsgBox "Baci e Abbracci", "Corretto"
End If
End Sub
Ma niente...
Ho provato a fare Pure
Codice: Seleziona tutto
Sub DefineXYZ (XYZ)
Dim XYZ As String
XYZ = "Ciao"
End Sub
Sub Pippo 'oppure Pluto, Orazio o Clarabella
Call DefineXYZ
Saluto = InputBox ("Inserire il valore di XYZ", 0, "Prova:")
If Saluto <> XYZ Then
MsgBox "Codice Errato, Ritenta.", "Errato"
Exit Sub
Else
MsgBox "Baci e Abbracci", "Corretto"
End If
End Sub
E molte altre prove...ma andando a tentoni non ho risolto; ho letto la guida ufficiale sulle variabili pubbliche di openoffice calc, ma oltre a dire che mettendole nell'intestazione bisogna metterci Dim o Public non spiegano come richiamare il valore di quella variabile.
Sto sbagliando approccio?? Mi sono perso qualcosa??
L'ultima prova che ho fatto è stata quella che forse si è avvicinata di più ma ancora penso di essere distante:
Codice: Seleziona tutto
'-----------------------
Dim XYZ As String
'-----------------------
Sub DefineYXZ
XYZ="Ciao"
End Sub
'-----------------------
Sub Pippo 'oppure Pluto, Orazio o Clarabella
Saluto = InputBox ("Inserire il valore di XYZ", "Prova:")
If Saluto <> XYZ Then
MsgBox "Codice Errato, Ritenta.", "Errato"
Exit Sub
Else
MsgBox "Baci e Abbracci", "Corretto"
End If
End Sub
'-----------------------
Cosa sbaglio? Nell'ultima prova mi da sempre MsgBox relativo all'Errato