- •Оглавление
- •Предисловие
- •Введение
- •Общие сведения о vba
- •Структура редактора vba
- •Запуск редактора vba и завершение работы
- •Пользовательский интерфейс редактора vba
- •Окно Project Explorer (Проекта)
- •Окно свойств (Properties)
- •Окно для редактирования кода
- •Окно редактирования форм (UserForm)
- •Программирование на vba
- •Использование модулей и процедур
- •Запуск пользовательских функций
- •Создание новой процедуры
- •Выбор имени
- •Удаление модуля из проекта
- •Представление данных в vba
- •Операции языка vba
- •Инструкции
- •Инструкции объявления (описания)
- •Инструкции присваивания (назначения или присвоения)
- •Выполняемые инструкции (исполняемые инструкции)
- •Инструкции по управлению потоком
- •Объекты в vba
- •Работа с диапазонами
- •Использование свойства Range
- •Использование свойства Cells
- •Работа со свойствами – атрибутами объектов
- •Работа с методами объектов
- •Взаимодействие с пользователем
- •Вывод сообщений с помощью функции MsgBox
- •Вывод сообщений с помощью оператора MsgBox
- •Ввод данных пользователем с помощью окон ввода
- •Использование комментариев в программах vba
- •Создание пользовательских форм в редакторе vba
- •Создание формы
- •Использование элементов управления
- •Свойства элементов управления
- •Методы и события элементов управления
- •Макросы
- •Сервис►Макрос►Макросы…
- •Вопросы для самоконтроля
- •Примеры решения задач в среде программирования vba
- •Разработка программ и алгоритмов линейной структуры
- •С использованием процедуры функции в редакторе Visual Basic;
- •С использованием рабочего листа ms Excel;
- •С использованием форм пользователя в редакторе Visual Basic. Задание 1
- •Создание процедуры функции в редакторе Visual Basic Ход выполнения задания:
- •Создание процедуры подпрограммы с использованием ввода исходных данных и вывода результатов на рабочий лист ms Excel Ход выполнения задания:
- •Создание формы пользователя в редакторе Visual Basic Ход выполнения задания:
- •Разработка программ и алгоритмов разветвляющейся структуры
- •С использованием рабочего листа ms Excel;
- •С использованием форм пользователя в редакторе Visual Basic. Задание 2
- •Создание процедуры подпрограммы с использованием ввода исходных данных и вывода результатов на рабочий лист ms Excel Ход выполнения задания 2:
- •Создание формы пользователя в редакторе Visual Basic Ход выполнения задания:
- •Назначить автофигуре с надписью Задача2 макрос Zadanie2, выбрав пункт контекстного меню Назначить макрос...
- •Разработка программ и алгоритмов циклической структуры
- •С использованием процедуры функции в редакторе Visual Basic;
- •С использованием встроенных диалоговых окон (окна ввода, окна сообщения) в процедуре подпрограммы. Задание 3
- •Создание процедуры функции в редакторе Visual Basic
- •Использование окон сообщений и окон ввода
- •Разработка программ и алгоритмов с использованием массивов Задание 4
- •Ход выполнения задания 4:
- •Заключение
- •Библиографический список
- •Интернет ресурсы
- •Предметный указатель
Инструкции
Процедуры состоят из инструкций. Инструкцией в VBA называется синтаксически полный компонент программы, представляющий собой операцию, описание или определение. Инструкция VBA представляет одну логическую строку, допускается использование нескольких инструкций в одной строке, разделенных двоеточием.
Инструкция VBA представляет собой полную команду языка VBA, т.е. является наименьшей жизнеспособной единицей программного кода.
Инструкция может содержать ключевые слова, операторы, переменные, константы и выражения.
Программы VBA представляют собой последовательность инструкций.
В VBA различают три типа инструкций:
Инструкции объявления (описания).
Инструкции присваивания (назначения или присвоения).
Выполняемые инструкции (исполняемые инструкции).
Инструкции объявления (описания)
Используются для объявления процедур, переменных, массивов и констант. В них задается область определения, видимость, которые зависят от используемых ключевых слов. Объявление обеспечивает компилятору дополнительную информацию о том, как использовать данный объект. Объявив объект, его можно использовать в любом месте программы.
Примеры:
Объявление процедуры типа Sub с именем Пример:
Public Sub Пример()
Тело процедуры Код процедуры (инструкции)
End Sub
Пояснения: процедура будет глобальной, т.е. открытой в области видимости. Завершающий процедуру оператор End Sub считается частью объявления.
Объявление переменной
Переменная - это именование значения, которые могут изменяться во время выполнения программы
Dim S1, S2, m As Integer
Dim x As Single
Пояснения: Значения переменных S1, S2, m являются целыми числами, значение переменной x является число с плавающей точкой обычной точности (т.е. содержащее целую часть и дробную часть).
Декларация переменных может быть явной или неявной.
Декларация (объявление) переменных в явной форме представляет собой пример рассмотренный выше. Этот способ предпочтителен и представляет собой следующий синтаксис
Static│Public│Private│Dim ИмяПеременной1 [As Тип1], ИмяПеременной2 [As Тип2] где:
Static (Статистический) – ключевое слово, которое определяет, сохраняет ли переменная своё значение при завершении блока программы (процедуры, функции) и выходе из него.
Private (частный, локальный), Public (Общий, глобальный) – ключевые слова, определяющие область видимости переменной.
Если область видимости объявлена в процедуре и предполагается, что переменные этому правилу подчиняются, то в объявлении переменных область видимости можно не указывать.
Dim (Размер) – ключевое слово, которое сообщает VBA, что декларируется переменная и резервируется область памяти для её хранения.
ИмяПеременной – имя переменной (идентификатор, не входящий в перечень ключевых слов VBA).
As (Как) – ключевое слово, которое сообщает VBA, что определяется тип данных для переменной.
Тип – тип данных для объявления переменной.
Замечание. В одном операторе Dim можно объявить несколько переменных.
Например:
Dim A As Integer
Dim B, C, D As Single
Dim E As Variant
Dim F
Dim G As Double, H As String
В результате такого объявления переменные будут иметь следующие типы: А – Integer, B, C, E и F – Variant, D – Single, G – Double, H – String.
Переменные можно явно объявить и использовать, а можно использовать и без объявления.
При подготовке кода программы программирования оказывает помощь пользователю: после набора ключевого слова As раскрывается список, в котором указаны базовые типы данных. Тип переменной можно установить, дважды щелкнув мышью по имени типа в этом списке.
Второй способ объявления переменных является указание типа с помощью суффикса. В этом случае тип данных переменной определяется благодаря добавлению в конце её имени специального слова – описания типа – суффикса. Поэтому использование ключевого слова As не требуется.
Явное объявление переменных с помощью суффикса имеет синтаксис: Static│ Private│ Public │Dim ИмяПеременной Суффикс.
Символы определения типа
Символ определения типа |
Тип |
! |
Single |
@ |
Currency |
# |
Double |
$ |
String |
% |
Integer |
& |
Long |
Например:
Dim А% – переменная типа Integer;
Dim B$ – переменная типа String.
Dim x! – объявляется переменная с именем x типа Single
Dim S1%, S2%, m% - объявляются переменные в виде списка с именами S1, S2, m типа Integer (целые).
Явное объявление переменных имеет много преимуществ:
Ускоряется выполнение кода. Скорость выполнения кода увеличивается на то количество времени, которое необходимо для анализа и создания неявно объявленных переменных.
Уменьшается количество ошибок в результате неправильного написания имени переменной.
Код становится более понятным. Видя все объявления переменных в начале модуля или процедуры, легко определить, какие переменные используются в этом модуле или процедуре и др.
Неявное объявление переменных осуществляется также двумя способами.
Первый способ заключается в использовании оператора Def Тип_Данных.
Синтаксис оператора имеет вид:
Def Тип_Данных ДиапазонБукв
где:
Тип_Данных – сокращенное название типа данных
ДиапазонБукв - указывает границы диапазона имен, для которых задается тип данных по умолчанию.
Например:
DefInt m – S – переменные, имена которых начинаются с символов в диапазоне с m – S, будут иметь тип Integer (целый).
Второй способ неявного объявления переменной декларируется просто указанием её имени в тексте программы. Следует отметить, что хороший стиль программирования предполагает использование явной декларации с помощью ключевых слов DIM, Private, Public, Static.
Объявление констант
Константы – представляют собой именованные значения, которые не меняются.
В VBA пользовательские константы (константы, создаваемые пользователем) объявляются с помощью ключевого слова Const. В момент объявления пользовательским константам присваиваются значения.
Конструкция для декларирования констант напоминает конструкцию для объявления переменных и имеет вид
[Public │ Private] Const ИмяКонстанты [As Тип] = значение
Private, Public – ключевые слова, определяющие область видимости константы. Не допускается в процедурах. Const - ключевое слово для определения константы.
ИмяКонстанты – имя константы, удовлетворяющее стандартным правилам именования объектов VBA.
As (Как) – ключевое слово, которое сообщает VBA, что определяется тип данных.
Тип - тип данных для объявления константы. Для каждой описываемой константы следует использовать отдельное предложение As Тип.
Значение – другая константа, выражение, использующие другие константы в комбинации с операторами (кроме оператора возведения в степень), любое сочетание символов (текст, заключенный в кавычки).
Например:
Const Pi As = 3.1415 – объявлена числовая константа с именем Pi с типом данных Single для хранения значения числа Pi = 3.1415
Const Pi = “Число Пи”
Const Pi As String = “Число Пи”
Во втором примере строковая константа (текст) с именем Pi представляет собой набор символов Число ПИ.
