logo
Информатика и КГ_2014

Запись математических функций на языке vba

Математическая запись

sinx

cosx

ex

|x|

tgx

arctgx

lnx

x

Запись

на VBA

Sin(x)

Cos(x)

Exp(x)

Abs(x)

Tan(x)

Atn(x)

Log(x)

Sqr(x)

Например, запись арифметического выражения:

на языке VBА будет выглядеть следующим образом:

Sin(2 * x) + (Log(x - 1) + Exp(x + 3)) / ((x ^ 4 + 5 * x ^ 2 - 3) ^ (1/3) + + (Tan(x ^ 2)) ^ 3

Оператор присваивания имеет следующий синтаксис:

<имя переменной> = <арифметическое выражение>

Пример записи оператора присваивания.

х = 2 * a + Log(a + 0.5)

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

1. Диалоговый ввод осуществляется с помощью встроенной функции InputBox, которая при работе программы выводит на экран свое окно. Например, при выполнении строки программного кода a = InputBox(«Введите фамилию») на экране появится диалоговое окно, в котором будет записан текст, заключенный в кавычки, а в полосе ввода числа будет мигать курсор (рис. 5.2). Нужно ввести запрашиваемое в окне значение и нажать клавишу ввода или щелкнуть мышью по кнопке K>.

Рис. 5.2. Окно диалогового ввода функции InputBox

При этом возвращаемое функцией InputBox значение имеет тип String. Поэтому для ввода значения числовой переменной в программе необходимо дополнительно преобразовать получаемое значение к числовому типу функцией Val. Например, для ввода значения числа 5.25 в переменную b необходимо записать следующую строку программного кода:

b = Val(InputBox(«Введите значение b»))

При вводе вещественного числа целая часть отделяется от дробной точкой. Число в степенной форме, например 1,2  10 – 6, записывается при вводе как 1.2Е-6.

2. Можно ввести значения с листа Excel. Например, чтобы поместить значение в переменную х из ячейки A2, можно записать:

x = Worksheets("Лист1").Range("A2")

или

x = Worksheets("Лист1").Cells(2, 1)

где Worksheets("Лист1") – рабочий лист Excel с именем "Лист1"; Range("A2") – ячейка с именем A2; Cells(2, 1) – ячейка с номером строки 2 и номером столбца 1 (т. е. ячейка A2).

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

1. Вывести значение переменной в окно сообщений можно с помощью функции MsgBox. Ее использование позволяет выводить и числа и произвольные текстовые сообщения на экран, при этом выводимое сообщение должно быть заключено в кавычки. Например, в результате выполнения строки MsgBox («Деление на нуль») на экране появится окно c текстом, приведенным в кавычках.

Число, выводимое в окно, можно форматировать (указывать количество знаков до и после запятой). Для этого используется функция Format(x, “##.##”), где x – переменная; ##.## – формат числа.

Текст, выводимый в окно сообщений, заключается в кавычки. Для вывода нескольких значений в одно текстовое окно используется операция конкатенации &, например:

MsgBox ("Значение x=" & Format(x, "##.#"))

2. Можно вывести результаты в ячейки листа Excel. Например:

Worksheets("Лист1").Range("A3") = x

Здесь значение х выводится в ячейку A3:

Worksheets("Лист1").Cells(3, 1) = x

Значение х выводится в ячейку c номером строки 3 и номером столбца 1, т. е. в ячейку А3.