Как очистить таблицу в vba?

Вам нужно использовать оператор «Erase», чтобы стереть массив в VBA. Добавьте ключевое слово «Стереть» перед именем таблицы, которую хотите стереть, но учтите, что все значения из таблицы будут сброшены. В следующей таблице у вас есть 3 элемента, и мы использовали оператор стирания, чтобы стереть все.

 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 
vba-очистить-массив

И с помощью этого оператора он очистил все элементы из массива, и когда мы используем Debug.Print (Немедленное окно), чтобы получить элемент массива, ничего не остается.

Очистить динамическую таблицу

Когда вы используете ReDim, он удаляет все элементы. Но вы можете использовать оператор save, чтобы сохранить некоторые элементы и частично очистить массив. В следующем примере у нас есть массив, и мы частично очистили четвертое значение, а затем вернули элементам значение 5.

И если вы хотите частично очистить динамический массив.

 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

Важные моменты

  1. Когда вы очищаете фиксированную таблицу:
    1. В массиве, содержащем все значения строки, оператор стирания сбросит все элементы с (переменной длиной) до строки нулевой длины » » и (фиксированной длины) до нуля.
    2. В массиве, содержащем числовые значения, оператор стирания обнуляет все элементы.
    3. В массиве, который, поскольку тип данных варьируется, операторы очистки сбрасывают все элементы в пустое состояние.
    4. В массиве, содержащем объекты, оператор стирания обнуляет все элементы.
    5. В массиве, содержащем объекты, оператор стирания сбросит все элементы, если это была отдельная переменная.
  2. Когда вы стираете динамический массив, оператор стирания освобождает пространство, используемое динамическим массивом.