TOP

VBA-Lezione 6.1. Tipi di dati (Variables)

Con l'aiuto delle variabili possiamo registrare tutti i tipi di informazioni, come: numeri, testo, data, ecc.

Una variabile (Variable) è un'area di memoria denominata utilizzata per memorizzare un singolo valore. Il valore di una variabile può essere modificato durante l'esecuzione del codice.

Quando dichiariamo una variabile (usando l'istruzione Dim), allochiamo un'area specifica di memoria e le assegniamo un nome per una facile consultazione.

Di seguito sono riportate le regole di base per la denominazione delle variabili:

  • È necessario utilizzare una lettera come primo carattere;
  • Non è possibile utilizzare uno spazio, un punto (.), un punto esclamativo (!) o i simboli @, &, $, # nel nome;
  • Il nome non può superare i 255 caratteri;
  • Non è possibile utilizzare le parole chiave riservate Visual Basic come nome di variabile.

  • Consideriamo il primo esempio:

    Sub variables()
       'Dichiarare la variabile come numero intero
       Dim my_variable As Integer
       'Assegniamo un certo valore alla variabile
       my_variable = 12
       'Visualizziamo il valore della variabile nella finestra del messaggio
       MsgBox my_variable
    End Sub
    

    La prima riga di codice dichiara una variabile:

       Dim my_variable As Integer
    
  • Dim: definizione della variabile
  • my_variable: nome della variabile
  • As: definizione del tipo di variabile
  • Integer: tipo di variabile
  • In generale, la dichiarazione delle variabili non è obbligatoria e il codice funzionerà, ma è fortemente consigliata. Ciò rende più semplice lavorare con loro, trovarli e risolvere vari problemi. In linea di principio, dichiarare le variabili è una buona abitudine di programmazione.

    Il tipo di una variabile indica la natura del suo contenuto (testo, numero, data, ecc.).

    La seconda barra multifunzione assegna un valore a una variabile:

       my_variable = 12
    

    Infine, il terzo nastro mostra il valore della variabile nella finestra del messaggio:

       MsgBox my_variable
    

    Il risultato dell'esecuzione del codice sarà il seguente:

    Tipi di variabili

    Nome Tipo Descrizione Simbolo
    Byte Numerico Un numero intero compreso tra 0 e 255
    Integer Numerico Un numero intero compreso tra -32'768 e 32'767 %
    Long Numerico Un numero intero compreso tra - 2'147'483'648 e 2'147'483'647 &
    Currency Numerico Decimale fisso compreso tra -922'337'203'685'477.5808 e 922'337'203'685'477.5807 @
    Single Numerico Un numero decimale a virgola mobile compreso tra -3,402823E38 e 3,402823E38 !
    Double Numerico Un numero decimale a virgola mobile compreso tra -1,79769313486232D308 e 1,79769313486232D308 #
    String Testo Testo $
    Date Data Data e ora
    Boolean Booleano Vero (Sì) o Falso (No)
    Object Oggetto Microsoft Object
    Variant Un altro Qualsiasi tipo di dati (tipo predefinito se la variabile non è definita)

    Consideriamo diversi esempi con diversi tipi di variabili:

     'Numero intero
     Dim nbInteger As Integer
     nbInteger = 12345
       
     'Numero decimale
     Dim nbComma As Single
     nbComma = 123.45
    
     'Testo
     Dim varText As String
     varText = "moonexcel.com.ua"
    
     'Data
     Dim varDate As Date
     varDate = "24.08.2012"
    
     'Booleano vero/falso
     Dim varBoolean As Boolean
     varBoolean = True
       
     'Oggetto (foglio di lavoro come tipo variabile)
     Dim varSheet As Worksheet
     Set varSheet = Sheets("Sheet2") 'Set => assegnazione di un valore ad una variabile di tipo "oggetto"
       
     'Un esempio di utilizzo di una variabile di tipo "oggetto": attivazione di un foglio
     varSheet.Activate
    

    I simboli elencati nella tabella possono essere utilizzati per dichiarazioni di variabili più brevi:

     Dim example As Integer
     Dim example%
    

    Queste due voci sono identiche.

    Puoi anche forzare l'utente a dichiarare le variabili scrivendo il comando Option Explicit all'inizio del modulo. In questo caso apparirà un messaggio di errore se è stata inserita una variabile non dichiarata.