Ф ункции для работы с массивами

Функции — заменители синтаксических конструкций

В VBA предусмотрено несколько функций, которые позволяют заменять синтаксические конструкции условного перехода, например If...Then...Else или Select Case. Каких-то преимуществ применение этих функций не дает (может быть, код станет на несколько строчек короче), но профессиональные

программисты очень любят их использовать.

Начинающим программистам рекомендуется применять обычные синтаксические конструкции, чтобы не путаться. Однако для чтения чужого кода необходимо знать и эти функции.

- Choose() — принимает число (номер значения) и список значений. Возвращает значение из списка, порядковый номер которого соответствует

передаваемому числу. Например, вызов функции:

Choose(2, "Первый", "Второй", "Третий")

вернет "Второй".

- IIf() — расшифровывается как Immediate If, т. е. "немедленный If ". Представляет собой упрощенный вариант If...Else, когда проверяется условие

и возвращается одно из двух значений. Например: IIf(n > 10, "Больше десяти", "Меньше или равно десяти")

- Switch() — принимает неограниченное количество пар типа "выражение = значение", проверяет каждое выражение на истинность и возвращает значение для первого выражения, которое оказалось истинным. Например: Function Language (CityName As String)

Language = Switch(CityName = "Москва", "русский", CityName = _

"Париж", "французский", CityName = "Берлин", "немецкий")

End Function

Как уже говорилось, при программной работе с приложениями Microsoft Office массивы используются редко. Вместо них применяются коллекции. Однако в VBA предусмотрены возможности и для работы с массивами.

- Array() — позволяет автоматически создать массив нужного размера и типа и сразу загрузить в него переданные значения:

Dim myArray As Variant

myArray = Array(10,20,30)

MsgBox A(2)

- Filter() — позволяет на основе одного массива получить другой, отфильтровав в исходном массиве нужные нам элементы.

- LBound(), UBound() — возвращают соответственно информацию о нижней границе массива (номер первого имеющегося в массиве значения) и о верхней границе (номер последнего имеющегося значения).

- Join() — соединяет множество строк, составляющих массив, в одну строковую переменную. В качестве разделителя по умолчанию используется пробел, но можно указать и свой разделитель. Обратная функция, создающая массив из одной строки, — Split(). Эти функции очень удобны, например, при обработке значений, полученных из базы данных, электронной таблицы, макетного файла и т. п.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: