Встроенные диалоговые окна

Функции VBA

Таблица 3

Функция Возвращаемое выражение
Математические функции
Abs(х) Модуль (абсолютная величина числа)
Cos(х) Косинус
Exp(х) Экспонента, т.е. результат возведения основания натурального логарифма в указанную степень степень
Log(x) Натуральный логарифм
Rnd Случайное число в интервале [0,1]. Перед вызовом функции Rnd используйте инструкцию Randomize
Sin(x) Синус
Sqr(x) Квадратный корень
Логические функции
х1 AND х2 True, если х1 и х2 равныTrue False, если либо х1, либо х2 равно False
x1 OR х2 True, если хотя бы один из х1,х2 равен True False, если и х1, и х2 равны False
Функции проверки типов
IsNumeric(перемен-ная) True, если переменная – число False, если переменная – не число
IsNull(переменная) True, если переменная является пустым значением (Null) False, если переменная – не пустое значение
Функции преобразования форматов
Val(строка) Преобразует строку в число
Str(число) Преобразует число в строку
Int(x) х преобразуется в целое
Cint(х) х преобразуется в целое и слева убираются пробелы
CSng(x) х преобразуется в число с плавающей точкой обычной точности
Функции времени и даты
Date Текущая дата
Now Текущие дата и время

Кроме перечисленных функций объект Applications позволяет вызвать более 400 встроенных функций рабочего листа при помощи конструкции вида

Application.Функция Рабочего Листа(Аргументы).

Примеры:

· Application.Sum(Sheets(“Учет”).Range(“A1:B20”)) – суммируются значения из ячеек диапазона “A1:B20”, расположенного на листе Учет;

· Application.CountA(Sheets(“Сотрудники”).Range(“A:A”)) – подсчитывается количество непустых ячеек в столбце А на листе Сотрудники.

В VBA имеются две разновидности диалоговых окон: окна сообщений и окна ввода.

1. Окно сообщений – MsgBox – выводит простейшие сообщения для пользователя.

Синтаксис:

MsgBox “Cообщение”[,тк][,тз][,исф,нр],

где тк -тип кнопок в окне, если тк=0, то в окне будет одна кнопка Ок, если тк=1, то в окне будут две кнопки Ок и Отмена;

тз – текст заголовка диалогового окна;

исф – имя справочного файла, содержащего справочные сведения о данном диалоговом окне;

нр – номер раздела справочной системы.

Аргументы в квадратных скобках приводить необязательно.

Пример:

MsgBox”Вы делаете много ошибок”,,”Пример”.

Результатом выполнения этой инструкции будет диалоговое окно, показанное на рис.5.

Рис.5. Окно сообщения

2. Окно ввода InputBox – выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.

Синтаксис:

InputBox (“Cообщение”[,тз][,умолчание][,x][,y][,исф,нр]),

где тз – текст заголовка диалогового окна;

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

x – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, то диалоговое окно выравнивается по центру экрана по горизонтали;

y – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана;

исф – имя справочного файла, содержащего справочные сведения о данном диалоговом окне;

нр – номер раздела справочной системы.

Пример:

Имя=InputBox(“Как Вас зовут?”,”Вопрос”)

MsgBox “Привет!”&Имя,1,”Приветствие”

Знак & обозначает сложение (сцепление) строк

После выполнения первой инструкции приведенной программы на экране появится следующее окно

 

Рис.6. Диалоговое окно ввода

Если мы наберем в окне ввода имя Федя и нажмем на кнопку Ок, то после выполнения второй инструкции на экране появится следующее диалоговое окно

 

Рис. 7.Окно сообщения