Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования в VBA-2012.doc
Скачиваний:
36
Добавлен:
03.03.2016
Размер:
3.64 Mб
Скачать

9. Операции и функции языка vba

В VBA определены следующие арифметические операции:

+ (сложение),

- (вычитание),

* (умножение),

/ (деление),

\ (деление на цело)

^ (возведение в степень),

mod (остаток от деления),

div (целочисленное деление);

логические операции:

And (и),

Or (или),

Not(отрицание),

Xor (исключающее или);

операции сравнения:

=, <, <=, >, >=, <>.

В состав VBA входит множество различных функций.

Стандартные функции VBA

Название

Описание

Значение

Abs(x)

Модуль числа х

Double

Sin(x)

Синус числа х

Double

Cos(x)

Косинус числа х

Double

Tan(x)

Тангенс числа x

Double

Atn(x)

Арктангенс х

Double

Exp(x)

Экспонента х

Double

Log(x)

Натуральный логарифм числа

Double

Sqr(x)

Корень квадратный

Double

Вычисление тригонометрических функций происходит в радианах. Чтобы преобразовать градусы в радианы, необходимо умножить градусы на π/180. Чтобы преобразовать радианы в градусы, необходимо умножить радианы на 180/π.

В VBA отсутствуют функции arcsin(x) и arcos(x), их необходимо выражать через arctg(x) следующим образом:

,

.

10. Структура программы

Программа на VBA имеет следующую структуру:

Sub имя программы()

тело программы

End Sub

11. Правила записи операторов

Каждый новый оператор записывается с новой строки.

Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:).

Если оператор не помещается на одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания ( _ ), а затем продолжить с новой строки.

12. Оператор комментария

Комментарий – это текст, который компилятором игнорируется. Начинается он либо с символа апостроф:

‘ Это комментарий

либо c оператора REM:

REM Комментарий

13. Оператор присваивания

Оператор присваивания в общем виде:

Имя_переменной = Выражение

Знак « = » читается «присвоить».

Выполняется операция так. Сначала вычисляется значение выражения указанного в правой части оператора, а затем его результат записывается в область памяти, имя которой указано слева.

c=5

a=c-3

c=c+1

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

ПРИМЕР. Фрагмент модуля

Dim X As Single, Y As Single

Dim Z As Single, B As Boolean

Dim A As Integer

X=Y+sin(Z) ‘Верно

X=A+B ‘Не верно

A=X/Y ‘Не верно

14. Ввод и вывод данных с использованием рабочего листа ms Excel

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

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

имя переменной = 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. Зная a, b, c – длины сторон треугольника, вычислить площадь S и периметр P этого треугольника.

Входные данные: a, b, c.

Выходные данные: S, P.

Применим формулу Герона:

,

где p – полупериметр.

Блок-схема алгоритма

Текст программы

Option Explicit

Sub prim1()

Dim a As Single

Dim b As Single

Dim c As Single

Dim S As Single

Dim 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