- •Использование макросов в табличных документах Теоретические сведения определение макроса
- •Основы работы в visual basic Основные понятия языка vba
- •Правила написания программ
- •Встроенные типы данных
- •Переменные
- •Массивы
- •Пользовательские типы данных
- •Объявление констант
- •Оператор комментариев
- •Процедуры
- •Операторы языка vba Оператор присваивания
- •Встроенные функции vba
- •Функции пользователя
- •Управляющие структуры
- •Условный оператор If.
- •Оператор выборки Select Case.
- •Оператор счетного цикла For-Next
- •Цикл Do-Loop
- •Цикл While-Wend
- •Цикл For Each
- •Возможности vba по созданию макросов Excel
- •Приемы работы в среде Visual Basic for Applications
- •Методические указания к выполнению работы Пример создания макроса
- •Порядок работы
- •Вариант 2. Письмо - поздравление
- •Вариант 3. Товарный чек
- •Вариант 4. Расчетный листок зарплаты
- •Порядок выполнения расчета.
- •Вариант 5. Комплектация изделия из составных частей
Правила написания программ
Текст программы состоит из команд. Команда может содержать ключевые слова, операторы, переменные, константы и выражения. Любая конструкция относится к одной из следующих категорий:
Инструкции описания, именующие переменные, константы, процедуры, типы данных.
Инструкции присвоения, присваивающие значение или выражение переменной или константе.
Исполняемые инструкции, которые инициируют действие. Они могут выполнить метод или функцию, могут организовать повторение или ветвление блоков программы. Эти инструкции часто содержат математические или условные операторы.
Обычно инструкция располагаться на одной строке. Но ее можно переносить с помощью символа продолжения строки « _» (пробел подчеркивание, причем пробел обязателен!).
Пример: процедура описывает строковую переменную myVar, присваивает ей значение «Иван» и выводит на экран сцепленное значение сообщения:
Sub DemBox()
Dim myVar As String
myVar = "Иван"
MsgBox Prompt:="Привет " & myVar, _
Title:="Приветствие", _
Buttons:=vbExclamation
End Sub
Комментарии начинаются с апострофа или слова Rem, за которым следует пробел. Их можно вносить в любое место процедуры.
Проверка синтаксических ошибок. Если после нажатия Еnter строка выделяется красным цветом, то в ней есть ошибка.
Встроенные типы данных
VBA использует 11 встроенных типов данных (табл.1):
Таблица 1. Встроенные типы данных VBA.
Тип данных |
Название типа данных |
Размер памяти ( в байтах) |
Диапазон значений |
Boolean |
Логический |
2 |
True, False |
Integer |
Целое |
2 |
-32768 - 32768 |
Long |
Целое двойной точности |
4 |
-2147483648 - 2147483648 |
Single |
Вещественное |
4 |
-3.402823E+38 - 1.401298E-45 |
Double |
Вещественное двойной точности |
8 |
3.402823Е+38 - -1.79769313486232Е+308; |
Currency |
Вещественное с округлением 1 |
8 |
-4.94065645841247Е-324 - 4.94065645841247Е-324 |
Date |
Вещественное число: целая часть – дата, дробная - время |
8 |
01.01.100; 31.12.9999 |
String |
Строка символов ASCII |
1 байт на 1 символ + 1 байт для конца строки |
|
Object |
Ссылка на объект VBA |
4 |
Любой определенный объект - |
Array |
Список данных любого типа |
Произвольный |
|
Variant |
Ссылка на любой разрешенный тип данных |
Зависит от самих данных |
Любой встроенный тип данных |
Переменные
Переменной называется поименованная область памяти компьютера, которая создается во время выполнения программы и хранит значение изменяющейся величины.
Переменная должна быть объявлена заданием своего имени и типа. Если тип не задан, то ей приписывается тип Variant.
Имя – это последовательность алфавитно-цифровых символов и специальные знаки. Требования к формированию имени:
Имя всегда начинается с буквы
имя представляет собой последовательность не более 255 символов, не содержащая пробелов и специальных символов.
Таблица 2. Примеры имен переменных.
Разрешенное имя переменной |
Неразрешенное имя переменной |
Комментарий |
СУМма; сумМА; NOMER; nomer |
- |
В написании имен нет различия прописных и строчных букв, кириллицы и латиницы |
Минимальный _размер_оплаты_труда; Min_size_off_job |
- |
Для улучшения читаемости имена могут состоять из отдельных слов, соединенных знаком подчеркивания |
|
МРОТ$; # size; Object&subobject
|
Нельзя использовать пробелы в имени переменной, а также специальные символы типа: #$%&! |
Сфера действия переменных – часть программы, в которой можно пользовать данную переменную. Особенность программы на VBA – ее модульная структура. Программа имеет главный модуль, в который вложенные модули, которые, в сою очередь, содержат одну или более вложенных процедур. Поэтому каждая переменная имеет свою сферу действия. На рис. 19.21 показана сфера действия переменных.
Сфера действия в зависимости от места объявления:
Переменные, объявленные в процедуре, действуют в пределах этой процедуры.
Переменные, объявленные на уровне модуля, доступны для всех процедур этого модуля. При этом допускается объявлять переменную с тем же именем, которое использовалось для объявления переменной во вложенных процедурах.
Переменные, объявленные на уровне внешнего модуля, могут использоваться во всех вложенных процедурах и модулях. Это глобальные переменные.
Объявление переменных может выполняться с помощью операторов:
локальные переменные
Dim <var> As <type>, <var> As <type>, <var> As <type>, ...
глобальные переменные
Public <var> As <type>, <var> As<type>, <var> As<type>,...
где <var> - имя переменной;
<type>- встроенный тип данных переменной.
