На примере с предыдущего урока возьмем код.
Sub programm() 'График функции y = x^3 -2x^2 + x^(3 * Cos(x1)) - 5 x1 = 1 'Начальное значения x2 = 10 'Конечное значение shag = 0.1 'Шаг изменения переменной i = 1 'Счётчик Do While x1 < x2 'Выполнять цикл операций, пока x1 < x2 y = x1 ^ 3 - 2 * x1 ^ 2 - x1 ^ (3 * Cos(x1)) - 5 'Рассчитать значение функции Сells(i, 1).Value = x1 'Записать x1 в ячейку с координатами (i,1) Cells(i, 2).Value = y 'Записать y в ячейку с координатами (i,2) i = i + 1 'Увеличить счётчик на 1 x1 = x1 + shаg 'Изменить x1 на величину шага Loop End Sub
Теперь же предлагаю более детально разобраться во всём этом коде. Сам четвёртый урок будет для удобства разбита на несколько частей, а это его первая часть.
Как мы уже говорили, любая программа начинается со слова «Sub» и заканчивается «End Sub». Чтобы не было путаницы, каждая программа должна иметь своё уникальное название, в данном случае наша программа называется "programm». Программа – это блок кода, который выполняет определённый набор команд. Этот блок также может быть использован, другой программой или блоком. Для более эффективного взаимодействия между блоками в VBA предусмотрен механизм передачи параметров между ними.
Так, например, следующий код демонстрируем использование блокам programm1()
блока programm(x) с передачей параметра x = 1.
Sub programm(x) End Sub Sub programm1() programm (1) End Sub
Далее рассмотрим набор используемых переменных.
x1 = 1 'Начальное значения
x2 = 10 'Конечное значение
shag = 0.1 'Шаг изменения переменной
i = 1 'Счётчик
Все они различных типов. shag, например, типа Double(с плавающей точкой), i – Integer(целый).
Но в VBA указывать это явно разработчику не требуется. Excel сам разберётся, что к чему. Но если вдруг для порядка Вы всё же захотите указать тип, то это можно сделать так.
Dim str As String 'Строковый тип – Доступна глобально
Sub programm(x) Dim x1 As Integer 'Доступна только в блоке program() Dim x2 As Integer 'Доступна только в блоке program() Dim shag As Double 'Доступна только в блоке program() Dim i As Integer 'Доступна только в блоке program() End Sub
Sub programm1() programm (1) {Код ….} End Sub
При этом переменная, например «str», объявленная вне блоков, будет доступна как для program(), так и для programm1(), что позволяет использовать и изменять её и там и там.
Чтобы присвоить значение переменным необходимо использовать «=», для строковых - дополнительно надо взять в кавычки нашу строку. Например так:
Sub programm1() programm (1) str = "Это наша строка" End Sub
Что ж, эту часть заканчиваю и приглашаю перейти ко второй.
Содержание Предыдущая << • >> Cледующая Автор:Muha