Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Variabili e Tipi di Dati | Fondamenti Di VBA
Excel VBA per l'Automazione Aziendale

Variabili e Tipi di Dati

Scorri per mostrare il menu

Ogni procedura che scrivi ha bisogno di uno spazio dove conservare i valori durante l'esecuzione — il nome di un cliente, un totale parziale, un flag sì/no. Questa è una variabile: una scatola etichettata in memoria in cui puoi inserire un valore e recuperarlo in seguito. Ne crei una con Dim (abbreviazione di "dimension"), specificando subito a VBA che tipo di valore conterrà:

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Ogni riga riserva uno slot etichettato: productName può contenere solo testo, currentStock solo numeri interi, unitPrice solo numeri con decimali. Dichiarare il tipo in anticipo non è burocrazia fine a sé stessa — permette a VBA di rilevare errori prima che diventino bug. Se provi a eseguire productName = 47, VBA ti blocca subito con un errore di incompatibilità di tipo, invece di memorizzare silenziosamente un valore errato che potrebbe causare confusione più avanti.

Tipi di dati comuni

Regola generale: usa Long invece di Integer per contatori e numeri di riga — non è più lento nelle versioni moderne di Excel e non va in overflow con dataset di grandi dimensioni. Troverai Dim i As Long ovunque in questo corso.

Option Explicit

Inserisci questa singola riga all'inizio di ogni modulo, prima di qualsiasi Sub. Cambia una cosa: VBA ora si rifiuterà di eseguire qualsiasi riga che utilizza una variabile non dichiarata prima con Dim:

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Senza Option Explicit, quell'errore di battitura crea silenziosamente una nuova variabile chiamata total, e potresti passare venti minuti a chiederti perché total non cambia mai. Questa semplice abitudine previene più bug di qualsiasi altra cosa in questo capitolo.

Costanti

Le costanti sono valori nominati che non cambiano mai durante l'esecuzione del codice — ideali per elementi come aliquote fiscali o soglie:

Const REORDER_THRESHOLD As Integer = 20

Utilizzare REORDER_THRESHOLD invece di digitare 20 ovunque significa che, se la regola aziendale cambia, modifichi una sola riga invece di cercare in tutto il codice.

Attività

  1. In Section_2_VBA_Fundamentals.xlsm, scrivere una Sub che dichiari una variabile String per il nome del prodotto, una Double per il prezzo e un Integer per la quantità in magazzino.
  2. Assegnare loro i valori per USB-C Hub digitando i valori letterali.
  3. Utilizzare MsgBox per visualizzare tutti e tre in un unico messaggio, concatenati insieme.
  4. Aggiungere Const LOW_STOCK As Integer = 20 sopra la Sub e utilizzarla in un MsgBox confrontandola con la variabile di stock.
Suggerimento
expand arrow
  1. Sono necessarie tre righe Dim con tipi diversi — fare riferimento alla Figura 2.1 se si dimentica la sintassi: Dim name As Type.
  2. La riga di USB-C Hub è Price 39.50, Stock 44. Assegnare questi valori direttamente: price = 39.50.
  3. La concatenazione utilizza &, non +. Costruire la stringa a pezzi: "Name: " & productName & ", Price: " & price.
  4. Le costanti vengono dichiarate fuori da qualsiasi Sub, all'inizio del modulo, subito dopo Option Explicit. Confrontare stockCount con LOW_STOCK usando semplicemente > o < all'interno di una stringa MsgBox — non è ancora necessario un If, basta mostrare entrambi i valori per poterli confrontare visivamente.
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Variabili e Tipi di Dati

Ogni procedura che scrivi ha bisogno di uno spazio dove conservare i valori durante l'esecuzione — il nome di un cliente, un totale parziale, un flag sì/no. Questa è una variabile: una scatola etichettata in memoria in cui puoi inserire un valore e recuperarlo in seguito. Ne crei una con Dim (abbreviazione di "dimension"), specificando subito a VBA che tipo di valore conterrà:

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Ogni riga riserva uno slot etichettato: productName può contenere solo testo, currentStock solo numeri interi, unitPrice solo numeri con decimali. Dichiarare il tipo in anticipo non è burocrazia fine a sé stessa — permette a VBA di rilevare errori prima che diventino bug. Se provi a eseguire productName = 47, VBA ti blocca subito con un errore di incompatibilità di tipo, invece di memorizzare silenziosamente un valore errato che potrebbe causare confusione più avanti.

Tipi di dati comuni

Regola generale: usa Long invece di Integer per contatori e numeri di riga — non è più lento nelle versioni moderne di Excel e non va in overflow con dataset di grandi dimensioni. Troverai Dim i As Long ovunque in questo corso.

Option Explicit

Inserisci questa singola riga all'inizio di ogni modulo, prima di qualsiasi Sub. Cambia una cosa: VBA ora si rifiuterà di eseguire qualsiasi riga che utilizza una variabile non dichiarata prima con Dim:

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Senza Option Explicit, quell'errore di battitura crea silenziosamente una nuova variabile chiamata total, e potresti passare venti minuti a chiederti perché total non cambia mai. Questa semplice abitudine previene più bug di qualsiasi altra cosa in questo capitolo.

Costanti

Le costanti sono valori nominati che non cambiano mai durante l'esecuzione del codice — ideali per elementi come aliquote fiscali o soglie:

Const REORDER_THRESHOLD As Integer = 20

Utilizzare REORDER_THRESHOLD invece di digitare 20 ovunque significa che, se la regola aziendale cambia, modifichi una sola riga invece di cercare in tutto il codice.

Attività

  1. In Section_2_VBA_Fundamentals.xlsm, scrivere una Sub che dichiari una variabile String per il nome del prodotto, una Double per il prezzo e un Integer per la quantità in magazzino.
  2. Assegnare loro i valori per USB-C Hub digitando i valori letterali.
  3. Utilizzare MsgBox per visualizzare tutti e tre in un unico messaggio, concatenati insieme.
  4. Aggiungere Const LOW_STOCK As Integer = 20 sopra la Sub e utilizzarla in un MsgBox confrontandola con la variabile di stock.
Suggerimento
expand arrow
  1. Sono necessarie tre righe Dim con tipi diversi — fare riferimento alla Figura 2.1 se si dimentica la sintassi: Dim name As Type.
  2. La riga di USB-C Hub è Price 39.50, Stock 44. Assegnare questi valori direttamente: price = 39.50.
  3. La concatenazione utilizza &, non +. Costruire la stringa a pezzi: "Name: " & productName & ", Price: " & price.
  4. Le costanti vengono dichiarate fuori da qualsiasi Sub, all'inizio del modulo, subito dopo Option Explicit. Confrontare stockCount con LOW_STOCK usando semplicemente > o < all'interno di una stringa MsgBox — non è ancora necessario un If, basta mostrare entrambi i valori per poterli confrontare visivamente.
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1
some-alt