|
|||||||
Массивы
Время создания: 31.07.2019 23:00
Текстовые метки: Массивы
Раздел: Разные закладки - VBA - Array
Запись: xintrea/mytetra_db_adgaver_new/master/base/1512829412q84zwjzmcb/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Массивы могут облегчить код в случае, когда нужно сделать одни и те же действия с несколькими объектами, например, с несколькими определенными листами книги. Допустим, из 6 листов книги нам нужно взять три и сделать с каждым из них какие-то действия, например, удалить первый столбец. Код может выглядеть следующим образом: Sheets(“Лист1”).Activate Columns(1).Delete Sheets(“Лист2”).Activate Columns(1).Delete Sheets(“Лист3”).Activate Columns(1).Delete А может выглядеть так: arr=Array(“Лист1”, “Лист2”, “Лист3”) For Each ar in arr Sheets(ar).Activate Columns(1).Delete Next Второй вариант кода сильно короче, особенно если нужно сделать не одно действие с каждым листом, а несколько. Массивы используются, например, для задания списка получателей письма (см. интеграция с Lotus) или для задания нужного списка выбранных значений в OLAP-кубе или в сводной таблице (см. OLAP). Задать значения, которые принимают элементы массива, можно, например, так: arr=Array(“Лист1”, “Лист2”, “Лист3”) или через функцию split, которая разделяет строку на элементы: arr=Split("Лист1, Лист2, Лист3") или через непосредственное задание значения каждому элементу: arr(0)="Лист1" arr(1)="Лист2" arr(2)="Лист3" Не забывайте определять массив Dim arr() As String И переопределять его размер, если нужно ReDim arr(10) Чтобы при переопределнии массива не потерялись уже записанные в него элементы, нужно написать Preserve: ReDim Preserve arr(10) Для работы с простыми макросами обычно можно обойтись и без массивов, но для некоторых сложных функций Excel они необходимы. К тому же при правильном использовании они могут сильно уменьшить код. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|