Масиви Excel VBA: що таке, як використовувати та типи масивів у VBA

Що таке масив VBA?

Масив визначається як область пам’яті, яка може зберігати більше одного значення. Усі значення мають бути одного типу даних. Скажімо, ви хочете зберегти список ваших улюблених напоїв в одній змінній, ви можете використовувати для цього масив VBA.

Використовуючи масив, ви можете звертатися до пов’язаних значень за однаковими іменами. Ви можете використовувати індекс або індекс, щоб відрізнити їх. Окремі значення називаються елементами масиву Excel VBA. Вони є суміжними від індексу 0 до найвищого значення індексу.

Цей посібник передбачає, що ви використовуєте Microsoft перевершувати версія 2013. Знання все ще застосовуються до інших версій Microsoft Excel також.

Які переваги масивів?

Нижче наведено деякі переваги функції масиву VBA

  1. Згрупуйте логічно пов’язані дані разом – скажімо, ви хочете зберегти список студентів. Ви можете використовувати єдину змінну масиву, яка має окремі розташування для категорій учнів, наприклад дитячий садок, початкова, середня, середня школа тощо.
  2. Масиви полегшують написання підтримуваного коду. Для тих самих логічно пов’язаних даних це дозволяє визначати одну змінну замість визначення кількох змінних.
  3. Краща продуктивність – після визначення масиву дані швидше можна отримувати, сортувати та змінювати.

Типи масивів у VBA

VBA підтримує два типи масивів, а саме;

  • Статичний – Ці типи масивів мають фіксовану заздалегідь визначену кількість елементів, які можна зберігати. Неможливо змінити розмір типу даних статичного масиву. Це корисно, коли ви хочете працювати з відомими об’єктами, такими як кількість днів у тижні, стать тощо.Наприклад: Dim ArrayMonth(12) як рядок
  • Dynamic – Ці типи масивів не мають фіксованої заздалегідь визначеної кількості елементів, які можна зберігати. Це корисно під час роботи з сутностями, кількість яких не можна заздалегідь визначити.Наприклад: Dim ArrayMonth() як варіант

Синтаксис для оголошення масивів

Статичні масиви

Синтаксис для оголошення СТАТИЧНА масивів виглядає наступним чином:

Dim arrayName (n) as datatype

ТУТ,

код дію
Тип даних Dim arrayName (n).
  1. Він оголошує змінну масиву під назвою arrayName із розміром n і типом даних. Розмір означає кількість елементів, які може зберігати масив.

Dynamic arrays

Синтаксис для оголошення ДИНАМІКА масивів виглядає наступним чином:

Dim arrayName() as datatype
ReDim arrayName(4)

ТУТ,

код дію
Тип даних Dim arrayName ().
  1. Він оголошує змінну масиву під назвою arrayName без вказівки кількості елементів
ReDim arrayName(4)
  1. Він визначає розмір масиву після визначення масиву.

Розміри масиву

Масив може бути одновимірним, двовимірним або багатовимірним.

  • Один вимір: у цьому вимірі масив використовує лише один індекс. Наприклад, кількість людей кожного віку.
  • Два виміри: у цьому вимірі масив використовує два індекси. Наприклад, кількість учнів у кожному класі. Це вимагає кількості класів і кількості учнів у кожному класі
  • Багатовимірність: у цьому вимірі масив використовує більше двох індексів. Наприклад, температура вдень. (30, 40, 20).

Як використовувати масив у Excel VBA

Ми створимо простий додаток. Ця програма заповнює аркуш Excel даними зі змінної масиву. У цьому прикладі масиву VBA ми будемо робити наступні речі.

  • Створіть новий Microsoft Робоча книга Excel і збережіть її як книгу Excel із підтримкою макросів (*.xlsm)
  • Додайте командну кнопку до книги
  • Встановіть властивості назви та підпису командної кнопки
  • Програмування VBA, який заповнює аркуш Excel

Давайте виконувати цю вправу крок за кроком,

Крок 1 – Створіть нову книгу

  1. відкритий Microsoft перевершувати
  2. Збережіть нову книгу як VBA Arrays.xlsm

Крок 2 – Додайте командну кнопку

Примітка: У цьому розділі передбачається, що ви знайомі з процесом створення інтерфейсу в Excel. Якщо ви не знайомі, прочитайте підручник Елемент керування формами VBA Excel і елемент керування ActiveX. Він покаже вам, як створити інтерфейс

  1. Додати командну кнопку на аркуш

Використання масиву в Excel VBA

  1. Встановіть для властивості name значення cmdLoadBeverages
  2. Встановіть для властивості caption значення Load Beverages

Тепер ваш графічний інтерфейс має бути таким

Використання масиву в Excel VBA

Крок 3 – Збережіть файл

  1. Натисніть кнопку зберегти як
  2. Виберіть книгу Excel із підтримкою макросів (*.xlsm), як показано на зображенні нижче

Використання масиву в Excel VBA

Крок 4 – Напишіть код

Тепер ми напишемо код для нашої програми

  1. Клацніть правою кнопкою миші кнопку «Завантажити напої» та виберіть «Переглянути код».
  2. Додайте наступний код до події клацання cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()
    Dim Drinks(1 To 4) As String
     
    Drinks(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

ТУТ,

код дію
Dim Drinks (1-4) як рядок
  • Він оголошує змінну масиву під назвою Drinks. Індекс першого масиву дорівнює 1, а індекс останнього масиву – 4.
Напої(1) = «Пепсі»
  • Призначає значення Pepsi першому елементу масиву. Інший подібний код робить те саме для інших елементів у масиві.
Sheet1.Cells(1, 1).Value = «Мої улюблені напої».
  • Записує значення «Мої улюблені напої» в адресу клітинки A1. Sheet1 посилається на аркуш, а Cells(1,1) посилається на рядок номер 1 і стовпець 1 (B)
Sheet1.Cells(2, 1).Value = Drinks(1)
  • Записує значення елемента масиву з індексом 1 у рядок номер два стовпця 1

Тестуємо наш додаток

Перейдіть на вкладку розробника та переконайтеся, що кнопку режиму дизайну вимкнено. Індикатор полягає в тому, що він матиме білий фон, а не кольоровий (зеленуватий). (Див. зображення нижче)

Тестування програми в Excel VBA

Натисніть кнопку «Завантажити напої».

Ви отримаєте такі результати

Тестування програми в Excel VBA

Завантажте Excel із кодом вище

Завантажте наведений вище код Excel

Підсумки

  1. Масив — це змінна, яка може зберігати більше одного значення
  2. Excel VBA підтримує статичні та динамічні масиви
  3. Масиви полегшують написання супроводжуваного коду порівняно з оголошенням великої кількості змінних для даних, які логічно пов’язані.