Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для заочников_VBA.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
2.45 Mб
Скачать
    • 4.16. Ввод и вывод данных с использованием рабочего листа

Cells(n, m) – ячейка активного листа, находящаяся на пересечении строки с номером n и столбца с номером m.

Например (рис. 9),

Ввод данных из рабочего листа

Вывод данных в рабочий лист

имя_переменной=Cells(n, m)

a = Cells(2, 2)

b = Cells(3, 2)

c = Cells(4, 2)

Cells(n, m)=имя_переменной

Cells(5, 2) = p

Cells(6, 2) = S

Составим программу для задачи 1:

Sub prim1()

Dim a As Single

Dim b As Single, c As Single

Dim S As Single, p As Single

a = Cells(2, 2)

b = Cells(3, 2)

c = Cells(4, 2)

p = (a + b + c) / 2

S=(p*(p-a)*(p-b)*(p-c))^0.5

Cells(5, 2) = 2*p

Cells(6, 2) = S

End Sub

Рис. 9.

    • 4.17. Ввод и вывод данных с использованием встроенных функций

Выводить информацию на экран в виде окна позволяет функция

MsgBox сообщение [,код кнопки [,заголовок]]

Здесь,

  • сообщение – определяет значение выражения, которое будет выводиться в окне сообщения. Это выражение может быть текстом, который нужно взять в кавычки, и (или) переменной. Для вывода в одном окне текста сообщений и значения переменной, следует использовать операцию объединение строк (&). Например,

Sub prim5()

Dim Pi As Single

Pi = 3.14159

MsgBox " pi=" & Pi

End Sub

Результат работы макроса на рис. 10.

  • код кнопки – определяет какие кнопки и пиктограммы будут выводиться в окне сообщений. Если этот параметр не указан, в окне сообщения находится только кнопка Ок;

  • заголовок - содержит текст, который отображается в строке заголовка сообщения. Если этот аргумент не задан, в заголовок помещается строка Microsoft Excel. Например (рис. 11),

Sub prim6()

Dim Pi As Single

Pi = 3.14159

MsgBox Pi,"Это число Pi"

End Sub

Рис. 10. Рис. 11.

Ввод информации можно осуществить с помощью окна ввода (рис. 12):

Рис. 12

которое создается функцией

InputBox(сообщение [,заголовок[,значение]])

где,

  • сообщение – строка символов или строковая переменная, содержащая текстовое сообщение пользователю;

  • заголовок – текст, который отображается в строке заголовка сообщения;

  • значение – определяет значения, отображаемые по умолчанию в текстовом поле диалогового окна.

ЗАДАЧА 2. Угол задан в радианах. Выполнить перевод в градусную меру.

Sub prim2()

Const pi = 3.14159

Dim r As Single

Dim g As Integer, m As Integer, s As Integer

'Ввод данных (рис.13)

r = InputBox("r=", "Величина угла в радианах",pi/4)

g = Fix(r * 180 / pi)

m = Fix((r*180/pi-g)*60)

s=Fix(((r*180/pi-g)*60-m)*60)

'Вывод результатов (рис.14)

MsgBox g & " градусов" & m & " минут" & s & " секунд"

End Sub

Рис. 13 Рис. 14

    • 4.18. Условный оператор

Условные операторы применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.

Рис. 15. Рис. 16.

Условный оператор, соответствующий приведенной блок-схеме (рис. 15), имеет вид:

If выражение Then

оператор1

Else

оператор2

EndIf

В данной конструкции выражение должно иметь логический тип.

Работает оператор так. Вычисляется значение выражения. Если оно имеет значение true, выполняется оператор1, в противном случае (выражение имеет значение false) – оператор2.

Если в зависимости от условия выполняется некоторое действие, а в противном случае ничего не происходит (рис. 16), то условный оператор в этом случае имеет конструкцию:

If выражение Then

оператор

EndIf

Эту запись можно назвать «пропуск оператора else». Здесь оператор либо выполняется, либо пропускается, в зависимости от значения выражения.

Допускаются многократно вложенные операторы If...Then...Else, имеющие столько уровней вложения, сколько потребуется.

If выражение1 Then

операторы1

Elseif выражение2 then

операторы2

Elseif выражение3 then

операторы3

……………

Elseif выражениеN then

операторыN

Else

операторы

EndIf

Для облегчения чтения программы вместо многократно вложенных операторов, иногда предпочтительнее использовать оператор Select Case

Select Case <выражение>

Case <условие выбора 1>

<операторы 1>

Case <условие выбора 2>

<операторы 2>

……………..

Case <условие выбора N>

<операторы N>

Case Else

<операторы>

End Select