Denna handledning lär dig hur du rensar en matris i VBA.
Rensa hela matrisen
För att rensa en hel matris kan du använda Radera uttalande:
1 | Radera arrExempel |
I praktiken:
123456789101112131415 | Sub ClearArray ()'Skapa statisk matrisDim arrExempel (1 till 3) som sträng'Definiera matrisvärdenarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Radera hela matrisenRadera arrExempel'Kontrollera matrisvärdeMsgBox arrExempel (1)Avsluta Sub |
Ändra storlek och rensa matris
Om din array är dynamisk (En dynamisk array är en array som kan ändras i storlek, i motsats till en statisk array som inte kan ändras), kan du använda ReDim -kommando för att ändra storlek på matrisen genom att rensa hela värdena.
12 | 'Radera hela matrisenReDim arrExempel (1 till 4) |
Fullständigt exempel:
12345678910111213141516 | Sub ClearArray2 ()'Skapa dynamisk matrisDim arrExample () som strängReDim arrExempel (1 till 3)'Definiera matrisvärdenarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Radera hela matrisenReDim arrExempel (1 till 4)'Kontrollera matrisvärdeMsgBox arrExempel (1)Avsluta Sub |
Tydlig del av en matris
Som nämnts ovan ändrar ReDim -kommandot storleken på en array och rensar alla värden från arrayen. Istället kan du använda ReDim Preserve att ändra storlek på matrisen, bevara befintliga värden. I praktiken kan detta användas för att snabbt rensa en del av en array.
12 | 'Radera position 3+ReDim Bevar arrExempel (1 till 2) |
Fullständigt exempel:
12345678910111213141516171819 | Sub ClearArray3 ()'Skapa dynamisk matrisDim arrExample () som strängReDim arrExempel (1 till 3)'Definiera matrisvärdenarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Radera position 3+ReDim Bevar arrExempel (1 till 2)'Ändra storlek till 3 positionerReDim Preserve arrExample (1 till 3)'Kontrollera matrisvärdeMsgBox arrExempel (3)Avsluta Sub |
Loop Through Entire Array - Återställa värden
Istället för att rensa arrayvärden med Erase eller ReDim kan du gå igenom hela arrayen och återställa varje värde.
** länk till loop **