Запись математических функций на языке 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). Нужно ввести запрашиваемое в окне значение и нажать клавишу ввода или щелкнуть мышью по кнопке ОК.

 

Рис. 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") – ячейка с именем А2, Cells(2, 1) – ячейка с номером строки – 2 и номером столбца – 1 (т. е. ячейка А2).

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

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.

Пример программы вычисления значений z.

В первом варианте программы ввод исходных данных организован с клавиатуры, вывод – в диалоговое окно: