La tabella che segue elenca i tipi di dati supportati e indica lo spazio su disco e l'intervallo valido per ciascun tipo di dati.
| Tipo di dati | Spazio su disco | Intervallo |
| Byte | 1 byte | Da 0 a 255 |
| Boolean | 2 byte | True o False |
| Integer | 2 byte | Da -32.768 a 32.767 |
| Long (intero lungo) |
4 byte | Da -2.147.483.648 a 2.147.483.6477 |
| Single (virgola mobile a precisione semplice) |
4 byte | Da -3,402823E38 a -1,401298E-45 per valori negativi; da 1,401298E-45 a 3,402823E38 per valori positivi |
| Double (virgola mobile a precisione doppia) |
8 byte | Da -1,79769313486232E308 a -4,94065645841247E-324 per valori negativi; da 4,94065645841247E-324 a 1,79769313486232E308 per valori positivi. |
| Currency (intero diviso) |
8 byte | Da -922.337.203.685.477,5808 a 922.337.203.685.477,5807 |
| Decimal | 14 byte | +/-79.228.162.514.264.337.593.543.950.335 senza virgola; +/-7,9228162514264337593543950335 con 28 decimali; il numero minore diverso da zero è +/-0,0000000000000000000000000001 |
| Date | 8 byte | Dall'1 gennaio 100 al 31 dicembre 9999 |
| Object | 4 byte | Qualsiasi riferimento Object |
| String (lunghezza variabile) |
10 byte + lunghezza stringa | Da 0 a circa 2 miliardi |
| String (lunghezza fissa) |
Lunghezza stringa | Da 1 a circa 65.400 |
| Variant (con numeri) |
16 byte | Qualsiasi valore numerico fino all'intervallo di un Double |
| Variant (con caratteri) |
22 byte + lunghezza stringa | Stesso intervallo di String a lunghezza variabile |
| Definito dall'utente (utilizzando Type) |
Numero richiesto dagli elementi | L'intervallo di ciascun elemento è identico a quello del relativo tipo di dati sopraelencato. |
Nota Le matrici di qualsiasi tipo di dati richiedono 20 byte di memoria più quattro byte per ogni dimensione della matrice più il numero di byte occupati dai dati stessi. La memoria occupata dai dati può essere calcolata moltiplicando il numero di elementi dei dati per le dimensioni di ciascun elemento. I dati in una matrice unidimensionale composti da quattro elementi di dati Integer di due byte ciascuno, ad esempio, occupano otto byte. Gli otto byte richiesti dai dati più i 24 byte di overhead portano a 32 byte la memoria complessiva richiesta per la matrice.
Un tipo di dati Variant contenente una matrice richiede 12 byte in più rispetto al numero di byte richiesti dalla matrice da sola.