Из этого туториала Вы узнаете, как очистить массив в VBA.
Очистить весь массив
Чтобы очистить весь массив, вы можете использовать Удалить заявление:
1 | Стереть arrExample |
На практике:
123456789101112131415 | Sub ClearArray ()'Создать статический массивDim arrExample (от 1 до 3) как String'Определить значения массиваarrExample (1) = "Шелли"arrExample (2) = "Стив"arrExample (3) = "Нима"'Стереть весь массивСтереть arrExample'Проверить значение массиваMsgBox arrExample (1)Конец подписки |
Изменить размер и очистить массив
Если ваш массив является динамическим (динамический массив - это массив, размер которого можно изменять, в отличие от статического массива, размер которого не может быть изменен), вы можете использовать Команда ReDim чтобы изменить размер массива, очистив весь массив значений.
12 | 'Стереть весь массивReDim arrExample (от 1 до 4) |
Полный пример:
12345678910111213141516 | Подложка ClearArray2 ()'Создать динамический массивDim arrExample () как строкаReDim arrExample (от 1 до 3)'Определить значения массиваarrExample (1) = "Шелли"arrExample (2) = "Стив"arrExample (3) = "Нима"'Стереть весь массивReDim arrExample (от 1 до 4)'Проверить значение массиваMsgBox arrExample (1)Конец подписки |
Очистить часть массива
Как упоминалось выше, команда ReDim изменит размер массива, удалив все значения из массива. Вместо этого вы можете использовать ReDim Preserve чтобы изменить размер массива, сохранив все существующие значения. На практике это можно использовать для быстрой очистки части массива.
12 | 'Стереть позицию 3+ReDim Preserve arrExample (от 1 до 2) |
Полный пример:
12345678910111213141516171819 | Подложка ClearArray3 ()'Создать динамический массивDim arrExample () как строкаReDim arrExample (от 1 до 3)'Определить значения массиваarrExample (1) = "Шелли"arrExample (2) = "Стив"arrExample (3) = "Нима"'Стереть позицию 3+ReDim Preserve arrExample (от 1 до 2)'Изменить размер на 3 позицииReDim Preserve arrExample (от 1 до 3)'Проверить значение массиваMsgBox arrExample (3)Конец подписки |
Цикл по всему массиву - сброс значений
Вместо того, чтобы очищать значения массива с помощью Erase или ReDim, вы можете перебрать весь массив, сбрасывая каждое значение.
** ссылка на цикл **