Что такое массив VBA?
Массив определяется как область памяти, способная хранить более одного значения. Все значения должны быть одного типа данных. Допустим, вы хотите сохранить список своих любимых напитков в одной переменной, для этого вы можете использовать массив.
Используя массив, вы можете ссылаться на связанные значения с тем же именем. Вы можете использовать индекс или индекс, чтобы отличить их друг от друга. Отдельные значения называются элементами массива. Они непрерывны от индекса 0 до самого высокого значения индекса.
В этом руководстве предполагается, что вы используете Microsoft Excel версии 2013. Знания по-прежнему применимы и к другим версиям Microsoft Excel.
В этом уроке по программированию на VBA вы узнаете
- Каковы преимущества массивов?
- Типы массивов
- Как использовать массив в Excel VBA
- Тестирование нашего приложения
Каковы преимущества массивов?
Ниже приведены некоторые преимущества функции массива.
- Группируйте логически связанные данные вместе — скажем, вы хотите сохранить список студентов. Вы можете использовать одну переменную массива, которая имеет отдельные местоположения для категорий учащихся, например, детский сад, начальная, средняя школа, старшая школа и т. Д.
- Массивы облегчают написание поддерживаемого кода. Для одних и тех же логически связанных данных он позволяет вам определять одну переменную вместо определения более одной переменной.
- Повышение производительности — после определения массива можно быстрее извлекать, сортировать и изменять данные.
Типы массивов
VBA поддерживает два типа массивов, а именно;
- Статический — эти типы массивов имеют фиксированное заранее определенное количество элементов, которые могут быть сохранены. Нельзя изменить размер типа данных статического массива. Они полезны, когда вы хотите работать с известными объектами, такими как количество дней в неделе, пол и т. Д.
Например : Dim ArrayMonth (12) As String
- Динамический — эти типы массивов не имеют фиксированного заранее определенного количества элементов, которые могут быть сохранены. Они полезны при работе с сущностями, для которых невозможно заранее определить число.
Например : Dim ArrayMonth () в качестве варианта
Синтаксис для объявления массивов
Статические массивы
Синтаксис для объявления массивов STATIC следующий:
Dim arrayName (n) as datatype
ВОТ,
Код | действие |
Dim arrayName (n) тип данных |
|
Динамические массивы
Синтаксис для объявления ДИНАМИЧЕСКИХ массивов следующий:
Dim arrayName() as datatype ReDim arrayName(4)
ВОТ,
Код | действие |
Dim arrayName () тип данных |
|
ReDim arrayName (4) |
|
Размеры массива
Массив может быть одним измерением, двумя измерениями или многомерным.
- Одно измерение : в этом измерении массив использует только один индекс. Например, количество людей каждого возраста.
- Два измерения . В этом измерении массив использует два индекса. Например, количество учеников в каждом классе. Требуется количество классов и количество студентов в каждом классе
- Многомерное : в этом измерении массив использует более двух индексов. Например, температура днем. (30, 40, 20).
Как использовать массив в Excel VBA
Мы создадим простое приложение. Это приложение заполняет лист Excel данными из переменной массива. В этом примере мы собираемся сделать следующие вещи.
- Создайте новую книгу Microsoft Excel и сохраните ее как книгу Excel с поддержкой макросов (* .xlsm)
- Добавить командную кнопку в рабочую книгу
- Установите имя и свойства заголовка командной кнопки
- Программирование VBA, которая заполняет лист Excel
Давайте делать это упражнение шаг за шагом,
Шаг 1 — Создать новую книгу
- Откройте Microsoft Excel
- Сохраните новую книгу как VBA Arrays.xlsm
Шаг 2 — Добавить командную кнопку
Примечание. В этом разделе предполагается, что вы знакомы с процессом создания интерфейса в Excel. Если вы не знакомы, прочитайте учебное пособие по VBA Excel Form Control & ActiveX Control . Он покажет вам, как создать интерфейс
- Добавить командную кнопку на лист
- Установите для свойства name значение cmdLoadBeverages
- Установите для свойства заголовка значение Load Beverages.
Ваш графический интерфейс теперь должен быть следующим
Шаг 3 — Сохраните файл
- Нажмите на кнопку Сохранить как
- Выберите книгу Excel с поддержкой макросов (* .xlsm), как показано на рисунке ниже.
Шаг 4 — Написать код
Теперь мы напишем код для нашего приложения
- Щелкните правой кнопкой мыши на кнопке «Загрузить напитки» и выберите код просмотра.
- Добавьте следующий код в событие щелчка 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
ВОТ,
Код |
действие |
Тусклые напитки (от 1 до 4) в виде струны |
|
Напитки (1) = «Пепси» |
|
Sheet1.Cells (1, 1) .Value = «Мои любимые напитки». |
|
Sheet1.Cells (2, 1) .Value = Напитки (1) |
|
Тестирование нашего приложения
Select the developer tab and ensure that the Design mode button is «off.» The indicator is, it will have a white background and not a coloured (greenish) background. (See image below)
Click on Load Beverages button
You will get the following results
Download Excel containing above code
Summary
- An array is a variable capable of storing more than one value
- VBA supports static and dynamic arrays
- Arrays make it easy to write maintainable code compared to declaring a lot of variables for data that is logically related.