Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Ввод и вывод данных в VBA может выполняться несколькими способами: с листа Excel, с помощью диалоговых окон, с помощью пользовательской формы.
Для ввода данных с листа или вывода на лист используется объект Worksheets и его методы Range или Cells.
Метод Range использует в качестве аргументов одну или две ссылки на ячейки и возвраща ю т объект Range. Ссылки на ячейки должны быть оформлены в стиле А1 (колонкастрока). Ссылка на единичную ячейку, использованная в качестве аргумента, возвращает объект Range для единичной ячейки. Две ссылки на единичные ячейки возвращают объект Range для прямоугольной области, заключенной между этими двумя ячейками:
X = Worksheets(“Лист1”).Range(“B1”).Value | Присваиваем переменной Х значение ячейки B1 листа Лист1. |
Worksheets(“Лист1”).Range(“B1”).Value = Х | Выводим в ячейку B1 листа Лист1 значение переменной Х |
Worksheets(“Лист1”).Range(“C1”,”D6”).Value = 2 | Выводим в ячейки C1 и D6 листа Лист1 число 2 |
Worksheets(“Лист1”).Range(“В7:С9”).Value = 3 | Выводим в диапазон ячеек “В7:С9” листа Лист1 число 3 |
Метод Cells, получая в качестве аргументов два целых числа, возвращает объект, содержащий единичную ячейку. Аргументы определяют номера строки и столбца выбранной ячейки.
A=Worksheets(1).Cells(1,2).Value | Переменной А присвоено значение из ячейки первой строки и второго столбца первого листа. |
Worksheets(1).Cells(2,2).Value= Х | В ячейку второй строки и второго столбца заносится значение переменной Х |
? Запишите команду (2 способа), с помощью которой можно вывести слово “Задача” в ячейку Е10 листа “Пример”.
______________________________________________________________
______________________________________________________________
? Запишите команду (2 способа), с помощью которой вводится значение переменной t с листа “Задача” из ячейки F2.
______________________________________________________________
______________________________________________________________
Для ввода данных с клавиатуры используется окно ввода InputBox (таблица 9), а для вывода информации на экран – окно сообщений MsgBox(таблица 10).
Таблица 9 – Параметры функции InputBox
Функция InputBox | Выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки OK и Cancel. Устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа string по нажатию кнопки OK, содержащее текст, введенный в поле. При нажатии кнопки Cancel возвращает пустую строку. Синтаксис: InputBox(prompt[, title] [, default]) - prompt — строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое значение prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr (13)), символа перевода строки (chr(10)) или комбинацию этих символов (chr(13) & Chr (10)); - title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения; - default — строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым. |
Пример.
Имя =InputBox(“Введите Ваше имя”, “Пример окна ввода”)
На экране появится окно.
Рисунок 2 – Пример окна ввода
Переменной Имя будет присвоено значение типа String, введенное пользователем.
Следует учесть, что, поскольку введенные пользователем данные считаются текстом, при вводе числовых значений необходимо преобразовать их к одному из числовых типов данных с помощью функции преобразования типа, например val или CDbl.
X=CDbl(InputBox(“Введите значение Х”, “Пример окна ввода”, “1,678”))
В результате выполнения этой операции на экране появится окно ввода.
Рисунок 3 – Пример окна ввода
Введенное пользователем значение будет преобразовано к типу Double и присвоено переменной Х. Если пользователь не будет вводить значение, а просто нажмет кнопку OK, переменной Х будет присвоено значение по умолчанию – 1.678.
? Запишите команду, позволяющую ввести целочисленное значение переменной a через окно ввода, представленного на рисунке 4:
Рисунок 4 – Пример окна ввода
____________________________________________________________________
? Схематически изобразите вид окна ввода, появляющееся после выполнения следующей команды: к= CInt(InputBox(“Укажите значение переменной е”, “Введите переменную е”, “5.12”))
? Укажите, какое значение примет переменная к, если была нажата кнопка ОК.____________
Таблица 10 - Параметры функции/процедуры MsgBox
Процедура/ функция MsgBox | Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(prompt[, buttons] [, title]) Аргументы: prompt — строковое выражение, отображаемое как сообщение в диалоговом окне; buttons — числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значения констант, определяющих число и тип кнопок используемого значка, приведены в таблицах 11—12; title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения |
Значения параметра Buttons процедуры/функции MsgBox, определяющие отображаемые в диалоговом окне кнопки, приведены в таблице 11:
Таблица 11
Константа | Значение | Отображаются кнопки |
VbOKOnly | OK | |
VbOKCancel | OK, Отмена | |
VbAbortRetryIgnore | Стоп, Повтор, Пропустить | |
VbYesNoCancel | Да, Нет, Отмена | |
VbYesNo | Да, Нет | |
VbRetryCancel | Повтор, Отмена |
При написании программ с откликом, когда нужно знать, какая кнопка диалогового окна была нажата (таблица 12), вместо возвращаемых значений удобнее использовать следующие константы VBA, которые делают код программы более читаемым и, к тому же, их легко запомнить.
Таблица 12
Дата публикования: 2015-10-09; Прочитано: 472 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!