- •Лабораторная работа №2 Ввод/вывод данных
- •Создание, выполнение, сохранение процедур
- •Ввод кода с клавиатуры
- •Создание процедуры с именем “Начaло_vba”, в которой на экран выводится сообщение "Начинаем работать с vba".
- •Выполнение процедуры
- •Сохранение процедуры
- •Щёлкнуть правой кнопкой мыши на элементе ЭтаКнига.
- •Выполнение процедуры
- •Сохранение процедуры
- •Получение контекстно-зависимой справки vba
- •Адресация ячеек в vba Excel
- •Вывод сообщений и ввод данных
- •Функция MsgBox
- •Упражнение 1. Вывод сообщений на экран
- •Объединение текстовых строк
- •Упражнение 2. Объединение текстовых строк
- •Ввод данных
- •Ввод данных в диалоге с клавиатуры. Функция InputBox
- •Метод InputBox
- •Упражнение 3. Ввод данных
- •Задания для самостоятельного решения
Упражнение 1. Вывод сообщений на экран
Изучите функцию MsgBox.
Создайте модуль Module1.
Вставьте текст процедуры ФункцияMsgBox в модуль Module1.
Выполните процедуру ФункцияMsgBox.
Объясните результат.
Объединение текстовых строк
Если надо объединить несколько текстовых строк в одну, используется символ конкатенации &. Его применение, а также применение других символьных констант, используемых при выводе сообщений, на экран показано в приведённой ниже процедуре ОбъединениеСтрок.
Sub ОбъединениеСтрок()
Dim Имя As String
Dim Сообщение As String
Имя = InputBox("Введите ваше имя: ")
'Следующая строка для окна сообщения объединяет
'слово "Привет" со значением переменной Имя
MsgBox "Привет, " & Имя & "!"
Сообщение = "Это пример объединения нескольких"
Сообщение = Сообщение & " строк в одну большую"
Сообщение = Сообщение & " строку." & vbNewLine
Сообщение = Сообщение & "vbNewLine - константа, позволяющая"
Сообщение = Сообщение & " начинать новую строку"
MsgBox Сообщение
End Sub
Упражнение 2. Объединение текстовых строк
Вставьте процедуру ОбъединениеСтрок в модуль VBA Module1, запустите процедуру на выполнение, объясните результат.
Ввод данных
Ввод данных в MS Excel возможен тремя способами:
в диалоге с клавиатуры,
записью данных в таблицу Excel,
используя внешние файлы.
Ввод данных в диалоге с клавиатуры. Функция InputBox
Функцию MsgBox целесообразно использовать в случае, если от пользователя надо получить ответ типа Да–Нет или ОК–Отмена. Если необходимо ввести число или текст, то применяется функция InputBox. Функция MsgBox отображает запрос в диалоговом окне ввода, ожидает ввода пользователем строки (или щелчка по кнопке окна) и возвращает строку из поля ввода окна.
Функция InputBox имеет следующий формат:
InputBox(Prompt[,Title][,Default][,Xpos][,Ypos]
[,Helpfile,Context])
Эта функция требует обязательного задания только аргумента Prompt. Так же, как и в функции MsgBox, значением аргумента Prompt служит текстовая строка, которая отображается в диалоговом окне ввода в качестве сообщения. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (Сhr(13)), символа перевода строки (Chr (10)) или комбинацию этих символов (Chr( 13) & Chr (10)).
Аргумент title используется для задания текста, который помещается в строке заголовка окна ввода. Если этот аргумент не задан, то в строке заголовка отображается слово Ввод.
Аргумент default задает значение, которое отображается по умолчанию в поле ввода, пока пользователь не введет свое значение. Если этот аргумент опустить, то отображается пустое поле ввода.
Необязательные аргументы xpos и ypos задают положение окна ввода на экране.
xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали.
ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, диалоговое окно помещается по вертикали примерно на одну треть высоты экрана.
Аргументы helpfile и context используются в том случае, если в приложении создаётся собственная система справки.
Возвращаемым значением функции InputBox является значение, введенное пользователем в поле ввода.
Пример:
Sub ФункцияInputBox()
Dim Данное As Variant
Данное = InputBox("Введите данное")
MsgBox "Введённое данное равно " & Данное
ActiveCell.Value = Данное
End Sub
Тип возвращаемого значения определен как Variant, т.е. тип определяется введенным значением.
