Se poate modifica dimensiunea unei matrici dinamice (redimensiona), folosind instrucțiunea ReDim. De exemplu, pentru a redimensiona matricea dinamică arrTestArray declarată mai sus și a-i atribui o mărime de cinci elemente, se poate folosi instrucțiunea:
ReDim arrTestArray(5)
Când se folosește ReDim pentru a redimensiona o astfel de matrice, se pierd valorile aflate în prezent în matrice. Dacă doar s-a declarat matricea ca o matrice dinamică și nu conține nimic, pierderea conținutului nu deranjează. Nu există conținut.
Dar, în alte situații, o matrice ar putea conține date și trebuie mărită dimensiunea ei, păstrând în același timp conținutul actual. Pentru a păstra valorile existente într-o matrice atunci când se redimensionează la limita superioară, se folosește instrucțiunea ReDim Preserve în loc de instrucțiunea ReDim:
ReDim Preserve arrTestArray(5)
Dacă se folosește ReDim Preserve pentru a reduce dimensiunea matricei (pentru a micșora limita superioară), se vor pierde informațiile stocate în elementele care nu sunt incluse în matricea redimensionată. De exemplu, pentru o matrice cu 5 elemente care are informații în fiecare element, redimensionarea utilizând ReDim Preserve la doar trei elemente duce la pierderea informațiilor din elementele patru și cinci.
De reținut că ReDim Preserve funcționează numai pentru ultima dimensiune a unei matrice multidimensionale. Nu se pot păstra datele din alte dimensiuni ale unei matrici multidimensionale.