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