Встроенные диалоговые окна
Функции 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.Окно сообщения