Немного о программировании  
Всё об Excel

+В закладки

Обучение Excel

Макросы в Excel

Программирование в Excel

Как в Excel ...?

Об Авторе

Карта сайта

Введение в программирование в Excel

Открываем редактор кода

Как правильно запустить макрос

Немного о программировании

Пока выполняется условие - цикл While

Цикл While. Продолжение

Ещё один цикл For

Как проверить условие - if ... then

Ключевые конструкции языка If, Else, ElseIf, Case

Пишем функцию для макроса



Переменные в VBA

В прошлом уроке мы написали небольшую программу на Visual Basic for Application.

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

Что ж, эту часть заканчиваю и приглашаю перейти ко второй.

© 2012 - 2017 Всё об Excel
Яндекс.Метрика