- •Программирование на языке vba Учебное пособие
- •Глава 1. Программы и их реализация. Введение в vba
- •Подготовка задач к решению на эвм
- •А а Блок ввода – вывода
- •1.3. Языки программирования и их реализация
- •1.4. Основы возникновения и использования языка vba
- •Глава 2. Основные принципы работы с vba
- •2.1. Алфавит vba
- •Разработка пользовательской формы и элементов управления
- •Процедуры Sub
- •2.1.1. Данные
- •Константы
- •2.1.2. Знаки операций
- •2.2. Основные операторы языка
- •2.2.1. Оператор описания переменных
- •2.2.2. Оператор присваивания
- •2.2.3. Операторы ввода данных
- •InputBox(“Сообщение”).
- •2.2.4. Операторы вывода данных
- •MsgBox (Список аргументов)
- •2.3. Линейные процессы
- •Программный код
- •2.4.1. Оператор условного перехода
- •If Условие Then Оператор 1 Else Оператор 2
- •2.4.2. Оператор выбора Select Case
- •2.5. Циклические процессы
- •2.5.1. Оператор цикла с параметром For – Next
- •2.5.2. Оператор цикла While – Wend
- •2.5.3. Оператор цикла Do – Loop
- •2.6. Работа с массивами
- •2.6.1. Вычисления в одномерных массивах
- •Пример: a(I), b(j).
- •Объявление массива
- •Ввод массива
- •Вывод массива
- •Вычисление суммы, произведения и количества элементов в одномерном массиве
- •Вычисление минимального и максимального элементов в одномерных массивах
- •Сортировка элементов одномерного массива методом “пузырька”
- •Удаление одного элемента из одномерного массива
- •Удаление из массива группы элементов
- •Вставка одного элемента в массив
- •Вставка группы элементов в массив
- •2.6.2. Вычисления в двумерных массивах
- •Ввод двумерного массива
- •Вывод двумерного массива
- •Формирование матрицы
- •Вычисление суммы, произведения, количества, минимума и максимума в двумерных массивах
- •Построчное вычисление в матрице
- •2.7. Пользовательский тип данных и формы пользователя
- •2.7.1. Пользовательский тип данных
- •Значение Оператор присоединения
- •2.7.2. Формы пользователя
- •Список использованной литературы
- •Оглавление
- •Глава 1. Программы и их реализация. Введение в vba. ………...3
- •Глава 2. Основные принципы работы с vba…………………...…16
2.2.4. Операторы вывода данных
Вывод информации в VBA осуществляется двумя способами.
1. С помощью оператора вывода
MsgBox (Список аргументов)
Этот оператор выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия пользователем кнопки, а затем возвращает в программу.
Пример:
MsgBox (“Значение А=” & A)
Символ “&” в операторе означает слияние в одну строку всех символьных строк, записанных в скобках.
Врезультате на экране появится следующее диалоговое окно (рис. 7).
Рис. 7. Стандартное окно вывода
Вывод данных на лист рабочей книги Excel, используя оператор
Сells(i,j)= «результат».
2.3. Линейные процессы
Линейным вычислительным процессом называется процесс, в котором все операторы выполняются последовательно друг за другом. Любая линейная программа состоит из:
описания данных;
ввода исходных данных;
вычисления требуемых значений (этап необязательный);
вывода полученных результатов.
Пример 1. Заданы два целых числа. Вычислить их сумму, произведение и частное.
Программный код
Option Explicit
Sub PR1 ( )
Dim a As Integer, b As Integer, s As Integer, p As Integer
Dim ch As Double
a = Val(InputBox("Введите А")) ‘ ввод первого числа
b = Val(InputBox("Введите В")) ‘ ввод второго числа
s = a + b ‘ вычисление суммы
MsgBox ("сумма=" & s) ‘ вывод суммы
p = a * b ‘ вычисление произведения
MsgBox ("произведение=" & p) ‘ вывод произведения
ch = a / b ‘ вычисление частного
MsgBox ("частное=" & ch) ‘ вывод частного
End Sub
В программе можно писать комментарии – пояснения к вашей программе, которые предназначены для пользователя, а не для компьютера. Комментарии начинаются с символа ‘ (апостроф). Все, что написано в строке программного кода справа от апострофа, считается комментарием.
Если вы хотите разместить несколько операторов в одну строку, то для этого необходимо записать эти операторы через двоеточие.
Пример 2. Заданы числа a, b, c. Вычислить значение выражения
.
Программный код
Option Explicit
Sub PR2 ( )
Dim a, b, c As Single ‘ описание переменных
Dim y As Double
a = Val(InputBox("Введите А")) ‘ ввод а
b = Val(InputBox("Введите В")) ‘ ввод b
c = Cells(1,1) ‘ ввод с
y = Log(Abs(5*b) / Sgr(c ^ 3) * Tan(a)+b*Sin(c) ‘ вычисление
‘ значения выражения
MsgBox ("y=" & y) ‘ вывод результата
End Sub
Пример 3. Составить программу вычисления продолжительности переправы танков по глубоким бродам и под водой, если
где D – ширина водной преграды;
N – количество переправляемых танков;
D1 – дистанция между машинами;
V – скорость движения танков под водой;
N1 – количество трасс подводного вождения.
Программный код
Option Explicit
Sub pr3 ( )
Dim D As Single, N As Integer, D1 As Single, V As Single, N1 As Integer
Dim t As Single
D = Val(InputBox(“Введите ширину преграды”))
N = Val(InputBox(“Введите количество танков”))
D1 = Val(InputBox(“Введите дистанцию”))
V = Val(InputBox(“Введите скорость движения”))
N1 = Val(InputBox(“Введите количество трасс”))
t = (D+N*D1)*0,06/V*N1
MsgBox(“продолжительность переправы =” & t)
End Sub
2.4. Разветвляющиеся процессы
Для программирования алгоритмов разветвляющейся структуры используются операторы, котрые позволяют изменять последовательный порядок выполнения операторов, т.е. организуют разветвление в программе.