Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kit.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
327.68 Кб
Скачать

35. Динамические массивы. Объявление, изменение размера массива с сохранением предыдущих значений. Функции uBound, lBound. Удаление массива

Объявление динамического массива с использованием оператора Dim имеет следующий синтаксис:

Dim Array_Var()

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

Синтаксис ReDim:

ReDim [Preserve] varname(subscripts) [As Type] [, varname(subscripts) [As Type]]

varname - имя существующего массива;

subscripts - размерность существующего массива;

Type - любой тип VBA. Необходимо использовать отдельный оператор As Type для каждого массива, который определяется;

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

ReDim Array_Month(29) - устанавливет размерность динамического массива равную 29 элементам

Функции LBound, UBound возвращают нижнее и верхнее граничные значения индексов статического или динамического массива.

Синтаксис:

LBound (array_Name [, dimension])

UBound (array_Name [, dimension])

array_Name - имя массива

dimension - целое число (необязательный аргумент). Определяет измерение массива, для которого надо получить верхний или нижний предел. При отсутствии dimension возвращается предел для первого измерения массива.

For I=LBound(sngl_array) To UBound(sngl_array)

sngl_array(i) = 1

Оператор Erase позволяет выполнять очистку для статических массивов и удаление - для динамических.

Когда элементы массива заполнены, данные в массиве остаются до тех пор, пока пользователь не присвоит новые значения элементам массива или пока VBA не освободится от массива. Может понадобиться очистить все значения в статическом массиве, устанавливая числовые значения на 0, а строковые - на пустые строки. Это можно сделать так: Erase My_Array

36. Назначение и синтаксис функции format. Части шаблона форматирования, которые назначаются через точку с запятой, использование литералов в шаблоне формата, примеры.

Очень часто формат данных на выходе программы по тем или иным причинам нас не совсем устраивает. Эту задачу решает функция Format.

VBA-функция Format идентична функции Format в Excel и использует те же символы-заполнители форматирования данных.

Синтаксис

Format (Expression [, Format[, Firstdayofweek [, Firstweekofyear]]])

Expression - любое допустимое выражение (обязательный аргумент).

Format - допустимое выражение именованного или определенного пользователем формата.

Firstdayofweek - константа, которая определяет первый день недели.

Firstweekofyear - константа, которая определяет первую неделю года.

Чтобы использовать функцию Format, надо либо задать предопределенный формат, либо создать образ определенного формата, используя символы-заполнители.

Const Baza = #2/13/1966#

MsgBox Format(Baza, “General Date”)

Литералы

General Date Форматирует информацию о дате и времени в последовательное число даты, используя установки формата даты и времени для данного компьютера.

Long Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Long-формата даты.

Medium Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Medium-формата даты.

Short Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Short-формата даты.

Long Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Long-формата времени.

Medium Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Medium -формата времени.

Short Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Short -формата времени.

General Number Форматирует число в строку без каких-либо особых символов.

Currency Форматирует число с символом денежной единицы, разделителем тысяч и только двумя десятичными разрядами.

Fixed Форматирует число так, чтобы всегда была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.

Standart Форматирует число с разделителем тысяч так, чтобы была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.

Percent Форматирует число как процентное отношение, умножая его на 100 и добавляя символ процента.

Scientific Форматирует число в обычный экспоненциальный формат.

Yes/No Возвращается строка "Да" если форматируемое число ненулевое, иначе - "Нет".

True/False Возвращается строка "Истина" если форматируемое число ненулевое, иначе - "Ложь".

On/Off Возвращается строка "Вкл" если форматируемое число ненулевое, иначе - "Выкл".

MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]