Поддержка JavaScript отключена
SBP-Program | |||||||
На главную — > VBA |   | ||||||
  |
Язык VBA
]]> Язык VBA достаточно простой. Ниже приводится краткий курс языка VBA. Аббревиатура VBA означает Visual Basic for Applications, т.е. Visual Basic для приложений. Пример объявления локальной переменной в VBA: Dim intVar As Integer
здесь объявлена локальная, т.е. видимая в пределах функции, переменная типа Integer. Пример объявления глобальной переменной в VBA: Public intVar As Integer
такая перемнная доступна из своего и других модулей. Пример объявления переменной, видимой только в своём модуле: Private intVar As Integer
Пример объявления статической переменной в VBA: Dim Static intVar As Integer
Статические переменные в VBA можно объявлять только на уровне процедуры. Значение статической переменной в этом примере равно нулю, т.е. при объявлении числовая переменная инициализируется нулем. Особенность объявления переменных в VBA состоит в том, что переменную можно и не объявлять, но использовать. Тип таких переменных — Variant. Но рекомендуется объявлять переменные, указывать их тип, а не использовать тип Variant. Константы в VBA объявляют с помощью Const: Const intValue As Integer = 1234
Константам значение присваивается при их объявлении. Пример объявления массива в VBA: Dim intArray(0 To 5) As Integer
объявлен массив типа Integer, индексы элементов изменяются от нуля до пяти. Пример двумерного массива в VBA: Dim intArray(0 To 5, 0 To 2) As Integer
Динамические массивы могут изменять свой размер. Объявление динамического массива: Dim intArray() As Integer
здесь размер массива не указан. Но перед использованием такого массива следует объявить его размер: ReDim intArray(5)
Можно и изменить его размер после предыдущего определения: ReDim intArray(15)
Пример объявления процедуры в VBA: Public Sub aProcedure(ByVal intA As Integer, ByRef lngSqr As Long)
    lngSqr = intA * intA End Sub В этом примере объявлена процедура, видимая из всех модулей, на это указывает слово Public, принимающая два параметра: intA по значению, на это указывает ключевое слово ByVal, и параметр lngSqr по ссылке, на это указывает ключевое слово ByRef. Ключевое слово Sub говорит, что объявлена процедура. По умолчанию аргументы передаются в процедуры по ссылке. Функции отличаются от процедур тем, что возвращают значение. Пример функции в VBA: Public Function lngFunc(ByVal intA As Integer) As Long
    lngFunc = intA * intA End Sub Для задания функции используем ключевое слово Function, после списка аргументов указываем тип возвращаемого значения. Строка lngFunc = intA * intA
возвращает значение из данной функции, слева — имя функции, в данном случае оно играет роль return. Откройте Excel, в строке меню окна Excel выберете Сервис — > Макрос — > Редактор Visual Basic. Откроется окно редактора, оно называется Microsoft Visual Basic. В окне Project – VBA Project кликаем дважды по Лист1. Вводим код: Public Sub aMessage()
    MsgBox («It is my first VBA program.») End Sub Далее Debug — > Compile VBA Project. Если нет ошибок, то запускаем нашу программу: Run — > Run Sub/UserForm. Видим такую картину: ![]() Если у вас так получилось, то это значит, что самое трудное позади и очень скоро вы освоите VBA окончательно. Сделаем программу с использованием функций. Напомню, что функция — это процедура, которая возвращает значение. Пусть наша программа возводит целое число в квадрат. Код на VBA: Public Function lngSqr(ByVal intVal As Integer) As Long
     lngSqr = intVal * intVal End Sub Public Sub calculation() Получаем: ![]() Программирование
|
  | |||||
 
|
 
|
||||||