Структура процедуры
|
……………………
|
……………………
|
ПРИМЕЧАНИЕ: Если перед Sub отсутствует ключевое слово, определяющее область видимости процедуры, то по – умолчанию она определяется как Public.
Имя процедуры удовлетворяет стандартным правилам именования переменных.
Аргументы – список параметров, значения которых передаются в процедуру или возвращаются из процедуры при ее вызове (может отсутствовать).
Средство VBA для вывода информации
Вывод (передача пользователю) результатов работы программы и других сообщений осуществляется через диалоговое окно сообщений.
Для организации вывода информации используется встроенная функция MsgBox.
Рассмотрим варианты ее применения.
1.y = Sqr(16)
MsgBox y
2. S = 99
MsgBox (“S= ” & S)
это знак конкатенации – амперсанд;
применяется для объединения нескольких строк в одну
3. a = 5: b = 101
MsgBox ("a=" & a & " " & "b=" & b)
4. MsgBox ("a=" & a & Chr(13) & "b=" & b)
с помощью этой функции вводится символ перехода
на новую строку (преобразует число в символ)
Работа с объектами Excel
Объект – это базовая категория в объектно-ориентированном прог-раммировании.
Объектная модель Excel представляет собой иерархию объектов, подчиненных одному объекту Application, который соответствует самому приложению Excel. Объектами Excel являются рабочие книги, рабочие листы, диаграммы, диапазоны ячеек, ячейки и т. д.
VBA может программно управлять любым из этих объектов.
Каждый объект обладает набором свойств, методов и событий.
Свойство – это характеристика или параметр объекта.
Метод – это действие, которое может выполнять объект.
Событие – это действие, на которое объект реагирует автоматически.
Управлять объектом в VBAможно 3 путями:
изменяя свойства объекта;
активизируя метод, связанный с объектом;
определяя процедуру, запуск которой произойдет как отклик на событие.
Вывод информации в ячейку Excel
Ячейка как объект Excel в VBA-программе обозначается Cells(i, j), где i – номер строки, j– номер столбца электронной таблицы.
Y = 0.01
Cells(3, 2) = Y
Считывание информации из ячейки Excel
B = Cells(5, 3)
Средство VBA для ввода информации
Ввод информации от пользователя осуществляется через диалоговое окно ввода. Реализуется с помощью встроенной функции InputBox.
Dim x As Single
Функция InputBox возвращает последовательность символов, введенную в поле ввода (15) как данные типа String (строковый). Встроенная функция Val() преобразует строковое значение из поля ввода в числовое.
Линейные вычислительные процессы
Линейный алгоритм характеризуется строгой последовательностью реализации блоков в порядке их расположения в схеме – сверху – вниз. Условные блоки отсутствуют. Каждый блок выполняется однократно.
Пример 1 Вычислить значение функции
при k = 33,5 x = 17
1. Составим алгоритм решения задачи.
2. В окне редактора кода введем программный код:
Option Explicit
Sub Линейный_процесс ()
Dim k As Single, x As Single, y As Single ‘объявление переменных
k = 3.5
x = Val (InputBox ("Введите значение x"))
y = k * Exp(Sin(x))
MsgBox "y=" & y ‘ вывод результата в диалоговое окно
End Sub
Команда Option Explicit обязывает объявлять все переменные в данной программе. Может размещаться только в разделе объявлений модуля.
Комментарии –пояснения, следуют за знаком «апостроф» ‘. Игнорируются компилятором.
Запуск программы на выполнение
из редактора Visual Basic (3 способа)
1. Кнопка на панели инструментов стандартной
2.В меню Run
Run Sub/UserForm
3. Клавиша F5
Разветвляющиеся вычислительные процессы
Разветвляющиеся алгоритмы предполагают наличие хотя бы одного условного блока, который позволяет реализовать два варианта (пути) вычислений, в зависимости от выполнения заданного условия.
Для реализации разветвлений в программе в VBA есть оператор условного перехода и оператор выбора.
Оператор условного перехода
имеет несколько разновидностей.
1. Однострочный
If [условие] Then [оператор]
Условие (логическое выражение) реализуется с помощью операций отношения и логических операций.
Операции отношения
= равно > больше
< > не равно <= меньше или равно
< меньше >= больше или равно
ПРИМЕЧАНИЕ: Сравнивать можно числовые и строковые значения. Результатом сравнения может быть True (истина) либо False (ложь).
If k>9 Then MsgBox “Тест завершен”
Если условие k>9 принимает значение True(истина), то будет выполняется оператор вывода сообщения MsgBox.
Еслиусловие принимает значение False (ложь), тоуправление передается на следующую программную строку.
2. Блочный If [условие] Then
[операторы]
End If
3. If [условие] Then
[операторы, если условие = True]
|
[операторы, если условие = False]
End If
……………….
Пример 2 Вычислить значение функции
, где a = 3,9
1. Составим алгоритм решения задачи.
Блок 2 – присваивается значение переменной а.
Блок 3 – вводится значение аргумента x.
Блок 4 – анализирует значение аргумента x: при истинности условия вычислительный процесс идет по ветви 1 (выход «да»),еслиусловие ложно реализуется ветвь 2.
2. В окне редактора кода введем программный код:
Sub Простое_ветвление ()
Dim a As Single, x As Single, y As Single
a = 3.9
x = Val(InputBox ("Ввод x")) ‘ввод значения аргумента x
If x < a Then
y = Exp(a * x) ‘ вычисление значения функции y, когда
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.