Last active
March 10, 2019 12:18
-
-
Save ezhov-da/5fed6322bfe0acc8d853e3a54241d6cf to your computer and use it in GitHub Desktop.
vba массивы
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Функции LBound, UBound | |
Функции LBound, UBound возвращают нижнее и верхнее граничные значения индексов статического или динамического массива. | |
Синтаксис: | |
LBound (array_Name [, dimension]) | |
UBound (array_Name [, dimension]) | |
array_Name - имя массива | |
dimension - целое число (необязательный аргумент). Определяет измерение массива, для которого надо получить верхний или нижний предел. При отсутствии dimension возвращается предел для первого измерения массива. | |
Нижеприведенный листинг демонстрирует использование функций LBound, UBound: | |
Очистка и удаление массивов при помощи Erase | |
Оператор Erase позволяет выполнять очистку для статических массивов и удаление - для динамических. | |
Когда элементы массива заполнены, данные в массиве остаются до тех пор, пока пользователь не присвоит новые значения элементам массива или пока VBA не освободится от массива. Зачастую бывает, что в дальнейших вычислениях динамический массив ни при каких обстоятельствах использоваться не будет, поэтому нецелесообразно "держать" его в памяти компьютера, т.к. это может сказаться на скорости работы программы. Или же может понадобиться очистить все значения в статическом массиве, устанавливая числовые значения на 0, а строковые - на пустые строки. Это можно осуществить при помощи вложенных циклов - как было показано на предыдущем уроке. Но, можно сделать гораздо проще: | |
Erase My_Array | |
Данный оператор обнуляет (если массив статический) или очищает (если массив динамический) массив My_Array. | |
Оператор Erase удаляет из памяти динамические массивы, освобождая область памяти, ранее используемую этим массивом. При удалении динамического массива с помощью оператора Erase необходимо повторно создать массив с помощью оператора ReDim перед тем, как можно будет использовать этот определенный динамический массив снова. | |
Поведение оператора Erase для статических массивов зависит от конкретного типа элементов массива (см. таблицу): | |
Тип статического массива Действие оператора Erase | |
Любой числовой тип Устанавливает элементы массива на 0 | |
Любой строковый тип Устанавливает элементы массива на строку нулевой длины, а для строк фиксированной длины - как все символы пробела | |
Тип Variant Устанавливает элементы массива на Empty | |
Тип Object Устанавливает элементы массива на Nothing | |
Любой пользовательский тип Устанавливает каждую переменную в пользовательском типе индивидуально: численные - на 0; строковые - на строки нулевой длины; Variant - Empty; Object - Nothing |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment