Организация ввода/вывода информации

Ввод/вывод информации средствами VBA можно организовать двумя способами:

1) непосредственный ввод в ячейки рабочего листа с клавиатуры;

2) ввод с использованием диалоговых окон.

Примеp 6. Присвоить переменной X значение свойства Value ячейки C5.

Способ 1.X=Cells(5,3).Value

Способ 2.X=Cells(5,3)

Способ 3.X=Range(“C5”)

Пример 7. Присвоить переменнойX значение ячейки, номер строки и столбца которой определяется значениями выражения 1+i и 1+j соответственно.

X=Cells(1+i,1+j)

Пример 8. В ячейке D8 вывести значение выражения x+2y.

Cells(8,4)=x+2*y

Второй способ организации ввода/вывода предполагает использование окна ввода InputBox (для ввода данных с клавиатуры) и окна сообщений MsgBox (для вывода информации на экран).

Здесь и в последующем необязательные элементы заключены в квадратные скобки. При наборе текстов программ квадратные скобки задавать не следует.

Синтаксис диалоговых окон:

MsgBox( prompt [,buttons] [,title] [helpfile, context] )

InputBox ( prompt [,title] [,default] [,xpoz] [,ypoz] [helpfile, context] )

Аргументы:

prompt — строковое выражение, которое выводится в диалоговом окне. Если оно состоит из нескольких строк, в качестве разделителя их используют символы возврата каретки (Chr(13)), перевода строки (Chr(10)) или комбинацию этих символов (Chr(13)&Chr(13));

title — строковое выражение, отображаемое в строке заголовка окна. По умолчанию в строку заголовка помещается имя приложения;

helpfile — строковое выражение, задающее имя файла справки, содержащего справочную информацию о данном диалоговом окне. В случае указания этого аргумента необходимо задать context, определяющий номер соответствующего раздела справочной системы;

default — строковое выражение, размещаемое в поле ввода как значение по умолчанию;

xpos — расстояние по горизонтали от левого края экрана до левой границы окна. По умолчанию диалоговое окно центрируется по горизонтали;

ypos — расстояние по вертикали от верхнего края экрана до верхней границы окна. По умолчанию диалоговое окно позиционируется приблизительно на одну треть высоты экрана;

buttons — целое число, представляющее собой значение, которое определяет число и тип отображаемых в диалоговом окне кнопок, вид используемого значка, основную кнопку, модальность окна сообщений. Символические константы и их числовые значения, применяемые в качестве параметра buttons, приведены в табл. 11.1.

 

Таблица 11.1

Символические константы аргумента buttons

Константа Значение Описание
vbOKOnly Только кнопка "OK" (по умолчанию)
vbOKCancel Кнопки "OK" и "Отмена" (Cancel)
vbAbortRetryIgnore Кнопки "Прервать" (Abort), "Повторить" (Retry) и "Пропустить" (Ignore)
vbYesNoCancel Кнопки "Да" (Yes), "Нет" (No) и "Отмена" (Cancel)
vbYesNo Кнопки "Да" и "Нет"
vbRetryCancel Кнопки "Повторить" и "Отмена"
vbCritical Значок "Критическое сообщение"
vbQuestion Значок "Предупреждающий запрос"
vbExclamation Значок "Предупреждающее сообщение"
vbInformation Значок "Информационное сообщение"
vbDefaultButton1 Основная — первая кнопка (по умолчанию)
vbDefaultButton2 Основная — 2-я кнопка
vbDefaultButton3 Основная — 3-я кнопка
vbDefaultButton4 Основная — 4-я кнопка
vbApplicationModal Модальное окно сообщения на уровне приложения (по умолчанию)
vbSystemModal Модальное окно сообщения на уровне системы

Функция MsgBox возвращает одно из значений, приведенных в табл. 11.2.

Таблица 11.2

Значения функции MsgBox

Константа Значение Нажатая кнопка
vbOK OK
vbCancel Отмена (Cancel)
vbAbort Прервать (Abort)
vbRetry Повторить (Retry)
vbIgnore Пропустить (Ignore)
vbYes Да (Yes)
vbNo Нет (No)

Пример 9. Создать программу для вычисления значения функции y(х)=3х2+2x-1. Значение переменной х ввести с клавиатуры при помощи окна ввода InputBox. Результат расчета вывести при помощи окна сообщения MsgBox (вывести в окне значок «Информационное сообщение»). Для заголовка окон диалога использовать строку вида: «Функция Y(X)= 3X^2 + 2X -1».

Решение.

В окне редактора программного кода VBA необходимо записать код процедуры (рис. 11.2). Для выполнения программы использовать команду меню RunRun Sub/UserForm или клавишу F5. В процессе выполнения ввести значение переменной x (рис. 11.3) и оценить полученный результат (рис. 11.4).

Рис. 11.2. Код программы на языке VBA

Рис 11.3. Окно диалога InputBox для ввода значения переменной x

 

Рис. 11.4. Окно диалога MsgBox для вывода полученного результата

 

Пример 10.Создать процедуру для построения графика функции y(x)=2x+5sin(x/2), xÎ [-10; 10].

Решение. Предварительно подготовить исходные данные на рабочем листе, построив таблицу значений функции в диапазоне А1:В22 (рис. 11.5).

Рис. 11.5. Таблица значений функции

 

В редакторе VBA в отдельном модуле записать следующий программный код:

Public Sub Grafik()