excel-vba Dichiarazione delle variabili


Esempio

Per dichiarare esplicitamente le variabili in VBA, utilizzare l'istruzione Dim , seguita dal nome e dal tipo della variabile. Se una variabile viene utilizzata senza essere dichiarata, o se non viene specificato alcun tipo, verrà assegnato il tipo Variant .

Utilizzare l'istruzione Option Explicit sulla prima riga di un modulo per forzare tutte le variabili da dichiarare prima dell'utilizzo (vedere SEMPRE Utilizzare "Option Explicit" ).

Si consiglia vivamente di utilizzare sempre Option Explicit poiché aiuta a prevenire errori di battitura / ortografia e garantisce che le variabili / oggetti rimangano il tipo previsto.

Option Explicit

Sub Example()
    Dim a As Integer
    a = 2
    Debug.Print a
    'Outputs: 2

    Dim b As Long
    b = a + 2
    Debug.Print b
    'Outputs: 4

    Dim c As String
    c = "Hello, world!"
    Debug.Print c
    'Outputs: Hello, world!
End Sub

È possibile dichiarare più variabili su una singola riga utilizzando le virgole come delimitatori, ma ogni tipo deve essere dichiarato singolarmente oppure verrà impostato di default sul tipo Variant .

Dim Str As String, IntOne, IntTwo As Integer, Lng As Long
Debug.Print TypeName(Str)    'Output: String
Debug.Print TypeName(IntOne) 'Output: Variant <--- !!!
Debug.Print TypeName(IntTwo) 'Output: Integer
Debug.Print TypeName(Lng)    'Output: Long

Le variabili possono anche essere dichiarate usando i suffissi di tipo di carattere Data ($% &! # @), Tuttavia l'uso di questi è sempre più scoraggiato.

 Dim this$  'String
 Dim this%  'Integer
 Dim this&  'Long
 Dim this!  'Single
 Dim this#  'Double
 Dim this@  'Currency

Altri modi di dichiarare le variabili sono:

  • Static come: Static CounterVariable as Integer

Quando si utilizza l'istruzione statica anziché un'istruzione Dim, la variabile dichiarata manterrà il suo valore tra le chiamate.

  • Public come: Public CounterVariable as Integer

Le variabili pubbliche possono essere utilizzate in qualsiasi procedura del progetto. Se una variabile pubblica viene dichiarata in un modulo standard o in un modulo di classe, può essere utilizzata anche in tutti i progetti che fanno riferimento al progetto in cui viene dichiarata la variabile pubblica.

  • Private come: Private CounterVariable as Integer

Le variabili private possono essere utilizzate solo dalle procedure nello stesso modulo.

Fonte e maggiori informazioni:

MSDN-dichiarare le variabili

Digitare caratteri (Visual Basic)