Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы на 14_10_2014.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.34 Mб
Скачать

Лабораторная работа №5 Синтаксис языка программирования vba (продолжение).

Цель: изучить использование основных элементов языка программирования VBA.

Основные вопросы.

  1. Понятие массива.

  2. Многомерность массивов.

  3. Работа с фиксированными и динамическими массивами.

  4. Макрофункции для работы с массивами.

  5. Пользовательские процедуры.

Массивы

Массив - это переменная, содержащая несколько значений и являющаяся по своей сути пронумерованной группой значений одного и того же типа. Массивы бывают нескольких типов, одномерными и многомерными.

Одномерный массив - это пронумерованный список значений, где каждый элемент этого списка имеет свой уникальный номер. Уникальный номер - это неповторяющийся номер (индекс) каждого элемента массива. В VBA одномерный массив можно представить в виде строки.

Многомерный массив - это переменная, которая содержит в себе набор списков. В языке VBA допускается описание массивов, имеющих до 60 размерностей, но, как правило, используются двухмерные массивы. В VBA двухмерный массив можно представить в виде строк и столбцов, поэтому их довольно часто называют таблицами или матрицами.

Прежде чем использовать массив его необходимо описать. Так как массив является переменной, то действия с массивом во многом похожи на действия с обычными переменными. В массивах используются те же типы данных, что и в обычных переменных, причём массив должен содержать только однотипные данные, однако его ограничение можно обойти, если создать массив типа Variant (существует функция Array, которая позволяет создавать массив в ходе выполнения программы, без предварительного описания).

При об'явлении массива необходимо учитывать, что массивы делятся также на фиксированные и динамические. Фиксированный массив - это массив с заданным размером, который в свою очередь определяется количеством элементов. Динамический массив - это массив с переменным размером, т.е. количество элементов может изменяться во время выполнения программы.

Объявление одномерного фиксированного массива:

Dim iString(3) As String

Объявление двухмерного фиксированного массива:

Dim iData(5, 2) As Double

Объявление динамического массива:

Dim iWhatIs() As Integer

При объявлении (описании) динамического массива его размер не указывается. В процессе выполнения программы его размер может изменяться, причём неоднократно. Поэтому динамический массив применяют, если предполагается, что размер массива не будет постоянным.

ReDim - инструкция, которая позволяет изменять динамический массив.

Dim iWhatIs() As Integer

ReDim iWhatIs(5)

ReDim iWhatIs(10)

Элементы массива, которые были созданы ранее, после использования ReDim не сохраняются.

ReDim Preserve - инструкция, которая позволяет изменять динамический массив, с сохранением всех элементов массива.

Dim iWhatIs()

ReDim Preserve iWhatIs(2)

iWhatIs(0) = 1

iWhatIs(1) = 2

iWhatIs(2) = 3

ReDim Preserve iWhatIs(3)

iWhatIs(3) = 4

Номер первого элемента по умолчанию начинается с 0, для того чтобы изменить нумерацию используйте инструкцию Option Base или используйте явное указание номера первого элемента. Инструкцию Option Base необходимо расположить в самом начале модуля VBA.

Номер первого элемента всех массивов начинается с 1:

Option Base 1

Dim iString(3) As String

Dim iData(5, 2) As Double

Объявление фиксированных массивов с явным описанием нижней границы :

Dim iString(1 To 3) As String

Dim iData(1 To 5, 1 To 2) As Double