Hoe maak je een tabel leeg in vba?
U moet de instructie “Erase” gebruiken om een array in VBA te wissen. Voeg het trefwoord “Wissen” toe vóór de naam van de tabel die u wilt wissen, maar houd er rekening mee dat alle waarden uit de tabel opnieuw worden ingesteld. In de volgende tabel heb je 3 elementen en we hebben de erase-instructie gebruikt om alles te wissen.
Sub myMacro1() Dim myArray() As Long ReDim myArray(4) myArray(1) = 1 myArray(2) = 2 myArray(3) = 3 myArray(4) = 4 ReDim myArray(1 To 5) MsgBox myArray(3) End Sub
En met deze verklaring werden alle elementen uit de array gewist, en als we Debug.Print (Immediate Window) gebruiken om het array-element op te halen, is er niets meer over.
Duidelijke dynamische tabel
Wanneer u ReDim gebruikt, worden alle items verwijderd. Maar u kunt de instructie ‘behoud’ gebruiken om enkele elementen te behouden en een array gedeeltelijk te wissen. In het volgende voorbeeld hebben we een array en hebben we de vierde waarde gedeeltelijk gewist en vervolgens de elementen teruggezet op 5.
En als u een dynamische array gedeeltelijk wilt wissen.
Sub myMacro2() Dim myArray() As Long ReDim myArray(1 To 4) myArray(1) = 1 myArray(2) = 2 myArray(3) = 3 myArray(4) = 4 'erase position 4 but preserve the 1,2, and 3 ReDim Preserve myArray(1 To 3) 'redefine the array items to five ReDim Preserve myArray(1 To 5) MsgBox myArray(3) End Sub
Belangrijke punten
- Wanneer u een vaste tafel afruimt:
- In een array die alle waarden van een string bevat, zal de erase-instructie alle elementen op (variabele lengte) resetten naar de string ” ” met lengte nul en (vaste lengte) naar nul.
- In een array met numerieke waarden zal de erase-instructie alle elementen terugzetten op nul.
- In een array die, bij een variërend gegevenstype, duidelijke instructies alle elementen op leeg zetten.
- In een array met objecten zal de erase-instructie alle elementen op nul zetten.
- In een array die objecten bevat, zal de erase-instructie alle elementen resetten als het een afzonderlijke variabele was.
- Wanneer u een dynamische array wist, maakt de erase-instructie de ruimte vrij die door de dynamische array wordt gebruikt.