Come cancellare una tabella in vba?
È necessario utilizzare l’istruzione “Cancella” per cancellare un array in VBA. Aggiungi la parola chiave “Cancella” prima del nome della tabella che desideri cancellare, ma tieni presente che tutti i valori verranno ripristinati dalla tabella. Nella tabella seguente hai 3 elementi e abbiamo utilizzato l’istruzione erase per cancellare tutto.
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
E con questa istruzione, vengono cancellati tutti gli elementi dall’array e quando utilizziamo Debug.Print (finestra immediata) per ottenere l’elemento dell’array, non rimane nulla.
Tabella dinamica chiara
Quando usi ReDim, elimina tutti gli elementi. Ma puoi usare l’istruzione preserva per preservare alcuni elementi e cancellare parzialmente un array. Nell’esempio seguente, abbiamo un array e abbiamo parzialmente cancellato il quarto valore e quindi reimpostato gli elementi su 5.
E se vuoi cancellare parzialmente un array dinamico.
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
Punti importanti
- Quando cancelli una tabella fissa:
- In un array contenente tutti i valori di una stringa, l’istruzione cancella reimposterà tutti gli elementi a (lunghezza variabile) sulla stringa di lunghezza zero ” ” e (lunghezza fissa) a zero.
- In un array contenente valori numerici, l’istruzione cancella reimposterà tutti gli elementi a zero.
- In un array che, come tipo di dati variabile, le istruzioni clear ripristineranno tutti gli elementi su vuoti.
- In un array contenente oggetti, l’istruzione cancella reimposterà tutti gli elementi su zero.
- In un array contenente oggetti, l’istruzione cancella reimposterà tutti gli elementi se fosse una variabile separata.
- Quando si cancella un array dinamico, l’istruzione cancella libera lo spazio utilizzato dall’array dinamico.