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

Зміст:

Anonim

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

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

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

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

У цьому підручнику з програмування VBA ви дізнаєтесь-

  • Які переваги масивів?
  • Типи масивів у VBA
  • Як використовувати масив у Excel VBA
  • Тестування нашої програми

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

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

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

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

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

  • Статичні - ці типи масивів мають фіксовану заздалегідь визначену кількість елементів, які можна зберігати. Не можна змінювати розмір типу даних статичного масиву. Вони корисні, коли ви хочете працювати з відомими об’єктами, такими як кількість днів у тижні, стать тощо.

    Наприклад : Dim ArrayMonth (12) як рядок

  • Динамічний - ці типи масивів не мають фіксованої заздалегідь визначеної кількості елементів, які можна зберігати. Вони корисні при роботі з сутностями, які неможливо визначити заздалегідь.

    Наприклад : Dim ArrayMonth () як варіант

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

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

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

Dim arrayName (n) as datatype

ТУТ,

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

Динамічні масиви

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

Dim arrayName() as datatypeReDim arrayName(4)

ТУТ,

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

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

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

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

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

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

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

Нехай виконують цю вправу поетапно,

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

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

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

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

  1. Додайте на аркуш командну кнопку
  1. Встановіть для властивості name cmdLoadBeverage
  2. Встановіть для властивості підпису значення Завантажити напої

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

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

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

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

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

  1. Клацніть правою кнопкою миші на кнопку Завантажити напої та виберіть код перегляду
  2. Додайте наступний код до події клацання 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) як рядки

  • Він оголошує змінну масиву під назвою Drinks. Перший індекс масиву дорівнює 1, а останній індекс масиву - 4.

Напої (1) = "Пепсі"

  • Призначає значення Pepsi першому елементу масиву. Інший подібний код робить те ж саме для інших елементів масиву.

Аркуш1.Cells (1, 1) .Value = "Мої улюблені напої."

  • Записує значення "Мої улюблені напої" в адресу комірки А1. Аркуш1 робить посилання на аркуш, а Клітинки (1,1) - посилання на рядок номер 1 і стовпець 1 (Б)

Аркуш 1. Клітини (2, 1). Значення = Напої (1)

  • Записує значення елемента масиву з індексом 1 у рядок номер два стовпця 1

Тестування нашої програми

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

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

Ви отримаєте наступні результати

Завантажте Excel, що містить код вище

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

Резюме

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