Если размер вашего массива увеличивается и вы не хотите исправлять размер массива, вы можете использовать Ключевое слово ReDim. Excel VBA затем автоматически изменяет размер массива.
Добавьте числа в столбец A.
Поместите командную кнопку на свой рабочий лист и добавьте следующие строки кода:
1. Сначала мы объявляем массив с именем numbers. Также объявите две переменные типа Integer. Один именованный размер и один с именем i.
Тусклые числа () как целое число, размер как целое число, i как целое число
Примечание: у массива еще нет размера. числа, размер и i здесь выбираются случайным образом, вы можете использовать любые имена. Не забудьте ссылаться на эти имена в остальной части кода.
2. Далее мы определяем размер массива и сохраняем его в переменной size. Для этого вы можете использовать функцию рабочего листа CountA. Добавьте следующую строку кода:
size = WorksheetFunction.CountA (Worksheets (1) .Columns (1))
3. Теперь мы знаем размер массива и можем изменить его размер. Добавьте следующую строку кода:
ReDim числа (размер)
4. Далее мы инициализируем каждый элемент массива. Используем петлю.
Для i = 1 по размеру
числа (i) = Ячейки (i, 1) .Значение
Далее я
5. Мы отображаем последний элемент массива с помощью MsgBox.
Номера MsgBox (размер)
6. Выйдите из редактора Visual Basic и нажмите кнопку команды на листе.
Результат:
7. Теперь, чтобы ясно понять, почему это называется динамическим массивом, добавьте число в столбец A.
8. Снова нажмите командную кнопку.
Вывод: Excel VBA автоматически изменил размер этого динамического массива.
9. Когда вы используете ключевое слово ReDim, вы стираете все существующие данные, которые в данный момент хранятся в массиве. Например, добавьте следующие строки кода к ранее созданному коду:
ReDim числа (3)
Номера MsgBox (1)
Результат:
Массив пуст.
10. Если вы хотите сохранить данные в существующем массиве при его изменении размеров, используйте ключевое слово Preserve.
Номера ReDim Preserve (3)
Номера MsgBox (1)
Результат: