Для входа в среду VBA Excel необходимо выполнить команду Сервис/Макрос/Редактор Visual Basic или воспользоваться горячей клавишей Alt+F11. Чтобы начать набор текста функции или подпрограммы на языке VBA необходимо находясь в среде VBA выполнить команду Insert(Вcтавить)/Module(Модуль) и затем воспользоваться командой Insert(Вcтавить)/Procedure(Процедуру). В появившемся окне необходимо выбрать функцию или подпрограмму и задать ее имя. После этого будут автоматически сформированы операторы начала и конца процедуры и можно переходить непосредственно к набору операторов процедуры. Для набора следующей процедуры в том же модуле необходимо повторить команду Insert(Вcтавить)/Procedure(Процедуру). Если нужно создать новый модуль повторяется команда Insert(Вcтавить)/Module(Модуль).
В
VBA для записи линейных
и разветвляющихся алгоритмов используются
оператор присваивания и условный оператор If (если). Оператор присваивания имеет
следующий вид: переменная=выражение Выражение может быть арифметическим,
текстовым или логическим. Для записи выражений в VBA
используются операции (операторы)
арифметические, текстовые и логические.
Арифметические
операции (операторы). Служат для выполнения арифметических
операций, таких как сложение, вычитание, умножение. Операции выполняются над
числами. Используются следующие арифметические операторы.
Арифметический
оператор |
Действие |
Пример |
+ (знак плюс)
|
Сложение
|
3+3
|
– (знак минус)
|
Вычитание
Унарный минус |
3–1
–1 |
* (звездочка)
|
Умножение
|
3*3
|
/ (косая черта)
\ (обратная черта)
|
Деление
Целочисленное деление
|
5/8 (результат 0.625)
5\8 (результат 0)
|
% (знак процента)
|
Процент
|
20%
|
^ (крышка)
|
Возведение в степень
|
3^2 (аналогично 3*3)
|
Текстовый оператор
конкатенации. Амперсанд (&) используется для объединения
нескольких текстовых строк в одну строку.
Текстовый
оператор |
Значение |
Пример |
& (амперсанд)
+ (плюс)
|
Объединение последовательностей символов в одну
последовательность.
|
Выражение "Северный " & " ветер"
эквивалентно строке "Северный ветер".
|
Для записи разветвляющихся алгоритмов
используется оператор If.
Он имеет две формы записи.
1. Однострочная запись If условие Then [оператор1] [Else оператор2]
2. Многострочная запись
If условие-1 Then
[ оператор1]
[ оператор1]
[ElseIf условие-2 Then
[оператор2]
[оператор2]
...
[Else
[оператор3]]
[оператор3]]
End If
В условии записывается
логическое выражение, которое использует операции сравнения, приведенные ниже.
Для создания сложных условий используются логические операции and (и) и or (или)
Операции
сравнения. Используются для сравнения двух значений.
Результатом сравнения является логическое значение: либо ИСТИНА, либо ЛОЖЬ.
Оператор
сравнения |
Значение |
Пример |
= (знак равенства)
|
Равно
|
A1=B1
|
> (знак больше)
|
Больше
|
A1>B1
|
< (знак меньше)
|
Меньше
|
A1<B1
|
>= (знак больше и знак равенства)
|
Больше или равно
|
A1>=B1
|
<= (знак меньше и знак равенства)
|
Меньше или равно
|
A1<=B1
|
<> (знак «не равно»)
|
Не равно
|
A1<>B1
|
функция вычисления выражения y=
Public Function fun1(x)
fun1=(x*x-5*2^0.5)/(2*x^3+1)
End Function
- функция вычисления полупериметра треугольника по трем сторонам a, b, c
Public Function Полупериметр(a,
b, c)
Полупериметр=(a+b+c)/2
End Function
- функция вычисления длины окружности и площади круга заданного радиуса R
Public Function Окружность(R)
Pi=3.14
a=2*Pi*R
b=Pi*R^2
Окружность="С="+str(a)+" S="+str(b)
End
Function
- функция нахождения максимального элемента из трех чисел a, b, c.
Public Function Max(a, b, c)
If a
> b Then
m
= a
Else
m
= b
End If
If c > m Then
Max = c
Else
Max = m
End If
End Function
- функция нахождения корней квадратного уравнения
Public Function Корни(a,
b, c)
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + d ^ (1 /
2)) / (2 * a)
x2 = (-b + d ^ (1 /
2)) / (2 * a)
Корни = "x1=" + str(x1)
+ "; x2=" + str(x2)
Else
Корни = "корней нет"
End If
End Function
Задания
На VBA составить функции для:
3. нахождения минимального числа из трех (четырех) заданных чисел A, B, C, D;
4. решения линейного уравнения
вида аx=c, где a и c - заданные коэффициенты, в
том числе и нулевые;
5. определения вида
треугольника (равносторонний, равнобедренный, прямоугольный), если три заданных
числа a, b, c задают длины его сторон;
6. нахождения площади
треугольника, если три заданных числа a, b, c задают длины его сторон.
7. найти площадь трапеции, если
четыре заданных числа задают длины ее сторон;
8. вывести текстовое представление
числа.
9. вычислить подоходный налог,
если известен совокупный годовой доход;
10. вычислить размер стипендии,
если известен средний балл студента
Комментариев нет :
Отправить комментарий