Se hai mai programmato delle macro, probabilmente hai familiarità con come definire le variabili utilizzando la parola chiave Dim. Ad esempio, puoi definire una variabile intera con il nome MyVar come segue:

Dim MyVar As Integer

Questo è molto semplice e funzionerà bene nel tuo codice. Per salvare poche righe nel codice potresti essere tentato di definire più variabili per riga:

Dim x, y, z As Integer

In alcune versioni del linguaggio BASIC, questo definirà e inizializzerà tre variabili, ciascuna come numero intero. Anche in VBA sembra funzionare correttamente e non viene generato alcun errore. Tuttavia, c’è un piccolo problema: solo l’ultima variabile (z) è effettivamente definita come un numero intero.

Puoi vedere come funziona usando il seguente codice:

Sub DimTest()

Dim x, y, z As Integer     Dim sTemp As String

sTemp = "x is type " & VarType(x) & vbCrLf     sTemp = sTemp & "y is type " & VarType(y) & vbCrLf     sTemp = sTemp & "z is type " & VarType(z)



MsgBox sTemp End Sub

Quando si esegue la macro, la finestra di messaggio mostra che il tipo di variabile per x e y è 0, il che significa che la variabile è una variante (il tipo di dati predefinito per le variabili non dichiarate). Solo l’ultima finestra di messaggio (per z)

mostra un tipo di variabile 2, che significa un numero intero.

La soluzione è assicurarti di dichiarare le tue variabili una per riga, o usando la sintassi completa per ogni variabile, come di seguito:

Dim x As Integer, y As Integer, z As Integer

_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 (3113) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: