Visual Basic har 17 grunnleggende datatyper som brukes til å konstruere alle data som er lagret i Visual Basic programmings . På toppen av disse, det er bokstavelig talt hundrevis av komplekse klasser og objekter som kan brukes av Visual Basic utviklere. Boolean  
 En boolean er en variabel som bare kan ha én av to verdier: sant eller usant . Den eksakte mengden minne tatt avhenger arkitekturen av datamaskinen som Visual Basic programmet kjører. 
 Byte 
 
 En byte representerer en usignert tall mellom 0 og 255 . Som navnet tilsier , bruker en byte nøyaktig én byte minne. Det er også en signert versjon heter sbyte , som har verdier på -128 til 127 . 
 Char 
 
 røye representerer en enkelt Unicode 16 tegn . Den forbruker to byte minne og har over 65 000 mulige verdier å representere alle verdiene i Unicode 16 tegnsett. 
 Dato 
 
 Dato forbruker 8 byte minne og har en dato og tid i den gregorianske kalenderen. De eneste gyldige datoer og klokkeslett er de som starter på midnatt 1. januar , 0000 AD og slutter på 23:59:59 31. desember , 9999 AD . 
 Desimal 
 
 
 desimal er en stor verdi utformet for å holde brøk tall med opp til 28 desimaler . Den forbruker 16 byte minne . Det ligner på "Double " datatype, mye tregere, men mye mer nøyaktig. 
 Double og Single 
 
 double datatype ofre nøyaktigheten av desimal data typen for å få flere desimaler . Den forbruker bare 8 byte minne , men det kan utgjøre inntil 324 desimaler ved hjelp av en avansert lagring algoritme . Den kan imidlertid ikke lagres alle mulige verdier er i dette område , og må rund til nærmeste verdi. Mesteparten av tiden , er dette ikke et problem , og dobbel er mye raskere enn desimal. Det er imidlertid lite egnet til operasjoner der nøyaktighet er helt avgjørende, for eksempel økonomi . Enkelt er en fire -byte -versjonen av den doble objektet. Det gir desimaltall med inntil 48 plasser . Som dobbelt , det er ikke helt nøyaktig og så er uegnet for finansielle poster. 
 Integer 
 
 Integer er en signert variabel som forbruker fire byte med minne og har verdier fra -2147483648 til 2147483647 . Den usignerte versjonen er uinterger , som tar verdier fra 0 til 4294967295 . 
 Long 
 
 Long står for lang heltall . Den bruker dobbelt så mye minne ( 8 byte ) og kan inneholde verdier fra 9.223.372.036.854.775.808 til 9.223.372.036.854.775.807 . Det er også en usignert versjoner, ULONG . 
 Kort 
 
 kort heltall bruker halvparten så mye minne som heltall ( 2 bytes ) . Det gir et område fra -32 768 til 32.767 . Den usignerte versjonen er ushort . 
 String 
 
 String gir en sekvens av 0-2 milliarder røye stedene. Minnet forbrukes naturlig avhenger av lengden på strengen . 
 Object 
 
 Object er en generisk datatype som kan holde minnet adressen til en hvilken som helst annen variabel , klasse eller objekttype. Den forbruker fire byte med minne på en 32- bits versjon av Windows og 8 byte på en 64 -bits versjon av Windows. 
 Brukerdefinert 
 
 Bruker -definerte objekter tillate en utvikler å skape sine egne komplekse datatyper ut av en kombinasjon av de andre datatyper som tilbys . Det ligner på C struct datatype.