Що таке масив VBA?
Масив визначається як місце в пам'яті, здатне зберігати більше одного значення. Усі значення повинні мати однаковий тип даних. Скажімо, ви хочете зберегти список своїх улюблених напоїв в одній змінній, для цього ви можете використовувати масив VBA.
Використовуючи масив, ви можете посилатися на пов'язані значення з тим самим іменем. Ви можете використовувати індекс або індекс, щоб розрізнити їх. Окремі значення називаються елементами масиву Excel VBA. Вони суміжні від індексу 0 до найвищого значення індексу.
Цей підручник передбачає, що ви використовуєте Microsoft Excel версії 2013. Знання все ще стосуються й інших версій Microsoft Excel.
У цьому підручнику з програмування VBA ви дізнаєтесь-
- Які переваги масивів?
- Типи масивів у VBA
- Як використовувати масив у Excel VBA
- Тестування нашої програми
Які переваги масивів?
Нижче наведено деякі переваги функції масиву VBA
- Групуйте логічно пов’язані дані разом - припустимо, ви хочете зберегти список студентів. Ви можете використовувати одну змінну масиву, яка має окремі місця для категорій учнів, тобто дитячий сад, початкова, середня школа, середня школа тощо.
- Масиви полегшують написання коду, який можна підтримувати. Для одних і тих же логічно пов’язаних даних це дозволяє визначити одну змінну, замість того, щоб визначити більше однієї змінної.
- Краща продуктивність - як тільки масив визначено, швидше отримувати, сортувати та змінювати дані.
Типи масивів у VBA
VBA підтримує два типи масивів, а саме;
- Статичні - ці типи масивів мають фіксовану заздалегідь визначену кількість елементів, які можна зберігати. Не можна змінювати розмір типу даних статичного масиву. Вони корисні, коли ви хочете працювати з відомими об’єктами, такими як кількість днів у тижні, стать тощо.
Наприклад : Dim ArrayMonth (12) як рядок
- Динамічний - ці типи масивів не мають фіксованої заздалегідь визначеної кількості елементів, які можна зберігати. Вони корисні при роботі з сутностями, які неможливо визначити заздалегідь.
Наприклад : Dim ArrayMonth () як варіант
Синтаксис для оголошення масивів
Статичні масиви
Синтаксис для оголошення масивів STATIC такий:
Dim arrayName (n) as datatype
ТУТ,
Код | Дія |
Тип даних arrayName (n) |
|
Динамічні масиви
Синтаксис для оголошення масивів DYNAMIC такий:
Dim arrayName() as datatypeReDim arrayName(4)
ТУТ,
Код | Дія |
Невиразний тип даних arrayName () |
|
ReDim arrayName (4) |
|
Розміри масиву
Масив може бути одним виміром, двовимірним або багатовимірним.
- Один вимір : у цьому вимірі масив використовує лише один індекс. Наприклад, кількість людей кожного віку.
- Два виміри : У цьому вимірі масив використовує два індекси. Наприклад, кількість учнів у кожному класі. Для цього потрібна кількість класів та номер студента в кожному класі
- Багатовимірність : у цьому вимірі масив використовує більше двох індексів. Наприклад, температура вдень. (30, 40, 20).
Як використовувати масив у Excel VBA
Ми створимо простий додаток. Ця програма заповнює аркуш Excel даними змінної масиву. У цьому прикладі масиву VBA ми будемо робити наступні дії.
- Створіть нову книгу Microsoft Excel і збережіть її як книгу з підтримкою макросів Excel (* .xlsm)
- Додайте командну кнопку до книги
- Встановіть властивості імені та субтитрів командної кнопки
- Програмування VBA, що заповнює аркуш Excel
Нехай виконують цю вправу поетапно,
Крок 1 - Створіть нову книгу
- Відкрийте Microsoft Excel
- Збережіть нову книгу як VBA Arrays.xlsm
Крок 2 - Додайте командну кнопку
Примітка: Цей розділ передбачає, що ви знайомі з процесом створення інтерфейсу в Excel. Якщо ви не знайомі, прочитайте підручник VBA Excel Control Form & ActiveX Control. Він покаже вам, як створити інтерфейс
- Додайте на аркуш командну кнопку
- Встановіть для властивості name cmdLoadBeverage
- Встановіть для властивості підпису значення Завантажити напої
Тепер ваш графічний інтерфейс повинен бути таким
Крок 3 - Збережіть файл
- Клацніть на кнопку зберегти як
- Виберіть книгу Excel з підтримкою макросів (* .xlsm), як показано на малюнку нижче
Крок 4 - Напишіть код
Тепер ми напишемо код для нашої програми
- Клацніть правою кнопкою миші на кнопку Завантажити напої та виберіть код перегляду
- Додайте наступний код до події клацання cmdLoadBeverage
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub
ТУТ,
Код |
Дія |
Тьмяні напої (від 1 до 4) як рядки |
|
Напої (1) = "Пепсі" |
|
Аркуш1.Cells (1, 1) .Value = "Мої улюблені напої." |
|
Аркуш 1. Клітини (2, 1). Значення = Напої (1) |
|
Тестування нашої програми
Виберіть вкладку розробника та переконайтеся, що кнопка режиму проектування вимкнена. Індикатор полягає в тому, що він матиме білий фон, а не кольоровий (зеленуватий) фон. (Дивіться зображення нижче)
Натисніть кнопку Завантажити напої
Ви отримаєте наступні результати
Завантажте Excel, що містить код вище
Завантажте вищезгаданий код Excel
Резюме
- Масив - це змінна, здатна зберігати більше одного значення
- Excel VBA підтримує статичні та динамічні масиви
- Масиви полегшують написання коду, який можна підтримувати, порівняно з оголошенням багатьох змінних для даних, які логічно пов'язані.