
- •Е. А. Сидорова, п. С. Челобанов основы программирования на vba омск 2011
- •1. Понятие и свойства алгоритма
- •1.1. Понятие алгоритма
- •1.2. Свойства и виды алгоритмов
- •1.3. Способы представления алгоритмов
- •2. Язык программирования vba
- •2.1. Языки программирования
- •2.2. Общие сведения о vba
- •2.3. Основные понятия языка программирования
- •2.4. Алфавит vba
- •2.5. Типы данных
- •2.6. Формы записи вещественных чисел в программе
- •2.7. Переменные
- •2.8. Константы
- •2.9. Встроенные функции
- •2.10. Выражения
- •2.11. Редактор Visual Basic
- •2.12. Правила записи и ввода программ на vba
- •2.13. Создание первой программы
- •3. Управление вводом и выводом данных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода данных
- •3.3. Генерирование случайных чисел
- •3.4. Операторы вывода данных
- •4. Линейные вычислительные процессы
- •5. Разветвляющиеся вычислительные процессы
- •5.1. Алгоритм разветвляющегося процесса
- •5.2. Оператор условного перехода If
- •5.2.1. Однострочный (линейный) оператор If
- •If Условие Then Операторы_1 [ Else Операторы_2 ],
- •5.2.2. Блочная форма оператора If
- •5.3. Объединение условий с помощью логических операций
- •5.4. Оператор безусловного перехода GoTo
- •5.5. Оператор выбора Select Case
- •6. Символьные переменные
- •6.1. Общие понятия
- •6.2. Сравнение строк
- •6.3. Строковые функции
- •6.4. Оператор Mid
- •7. Введение в объектно-ориентированное программирование
- •7.1. Основные понятия
- •7.2. Создание пользовательского интерфейса
- •7.3. Установка свойств объектов и определение методов
- •7.4. Составление программного кода
- •7.5. Создание пользовательского приложения с использованием формы
- •7.5.1. Создание формы
- •7.5.2. Разработка программного кода
- •8. Циклические вычислительные процессы
- •8.1. Понятие цикла
- •8.2. Арифметический цикл
- •8.2.1. Цикл с разветвлением
- •8.2.2. Цикл со счетчиком. Вычисление максимума и минимума
- •8.2.3. Вложенные циклы
- •8.3. Вычисление сумм и произведений
- •8.4. Итерационные циклы
- •8.4.1. Операторы цикла Do … Loop
- •9. Модульное программирование.
- •9.1. Понятие процедуры
- •9.2. Параметры процедур – формальные и фактические
- •9.3. Разработка процедур-функций
- •9.4. Разработка процедур-подпрограмм
- •9.5. Срочный выход из процедур и циклов
- •10. Переменные с индексами. Одномерные массивы
- •10.1. Понятие массива
- •10.2. Ввод массива
- •10.2.1. Считывание массива с листа Excel
- •10.2.2. Заполнение массива случайными числами
- •10.3. Вывод массива
- •10.4. Решение задач с использованием массивов
- •644046, Г. Омск, пр. Маркса, 35
2.11. Редактор Visual Basic
Чтобы начать работу в редакторе Visual Basic, нужно его открыть. Во всех приложениях Microsoft Office, в том числе Excel, это можно сделать, нажав клавиши Alt + F11. Кроме того, открыть редактор VBA можно другим способом: в Microsoft Office 2003 в меню Сервис → Макрос выбрать Редактор Visual Basic (рис. 1), а в Microsoft Office 2010 – на вкладке ленты Разработчик выбрать пункт Visual Basic (если вкладка Разработчик на ленте отсутствует, то нужно установить соответствующий флажок в разделе Параметры Excel → Настройка ленты).
Рис. 1. Открытие редактора VBA в Microsoft Excel 2003
Возвратиться из редактора VBA в рабочую книгу Excel можно, выбрав пункт меню View → Microsoft Excel.
Редактор VBA имеет стандартный вид для Windows-приложений (рис. 2): строка меню, панель инструментов и различные окна. Всего в редакторе VBA предусмотрено девять окон:
окно проводника проектов Project Explorer;
окно редактора программного кода Code;
окно свойств Properties;
окно формы UserForm;
панель инструментов управления Toolbox;
обозреватель проектов Object Browser;
окно контролируемых выражений Watch;
окно локальных переменных Locals;
окно Immediate для немедленного выполнения команд.
Последние три окна используются при отладке программы.
Любое из окон можно вывести на экран, выбрав в меню View одноименную команду. Если какое-либо окно не нужно, его можно закрыть, щелкнув левой кнопкой мыши по соответствующей кнопке в верхнем правом углу окна.
Р
ис.
2. Вид окна редактора VBA
В окне проводника проектов представлено дерево компонентов приложения. Самый верхний уровень – это проект (Project), которому соответствует открытая книга Excel. Каждый проект является не только документом, содержащим данные, формулы, диаграммы и т. д., но и контейнером для хранения стандартных модулей и пользовательских форм, используемых для создания программ на языке VBA. В большинстве проектов используется только один стандартный модуль, куда записывается весь программный код.
2.12. Правила записи и ввода программ на vba
Программа на языке VBA записывается в стандартном модуле и оформляется в виде процедуры пользователя.
Вставка нового модуля производится командой главного меню Insert → Module.
Структура модуля следующая:
Option Explicit
'Общие объявления модуля …
________________________________________________
Sub Процедура1()
'Операторы …
End Sub
________________________________________________
Sub Процедура2()
'Операторы …
End Sub
Обычно в начале программы указывается ее название, затем идут разделы описания констант и переменных, после этого – текст собственно программы.
Формат процедуры (программы) в общем случае следующий:
Sub Имя_процедуры(список аргументов) 'Заголовок процедуры
'Объявления переменных и констант
'Последовательность инструкций (операторов)
End Sub 'Конец процедуры
Перед заголовком процедуры Sub могут быть ключевые слова, означающие область видимости данной процедуры:
Public – открытая процедура, вызываемая из любой части программы;
Private – локальная процедура, ее можно вызывать только из того модуля, в котором она расположена.
Инструкции представляют собой последовательность логических строк. Каждая строка состоит из одного или нескольких операторов или процедур. Несколько операторов в одной строке друг от друга отделяются двоеточием.
Ключевые слова должны записываться в точном соответствии с их синтаксисом. Рекомендуется использовать комментарии, поясняющие ход выполнения программы. Комментарии вводятся в программу с помощью оператора REM или одинарной кавычки (апострофа). Содержимое строки после оператора комментария транслятором игнорируется и не исполняется.
Формат оператора:
Rem Комментарий или 'Комментарий
В процессе записи программы желательно применять структурирование текста, т. е. выделять блоки или фрагменты, применять отступы и т. д.
При записи длинных строк для удобства чтения программы можно объединить несколько физических строк в одну логическую при помощи пробела и знака подчеркивания после него:
MsgBox "Сумма равна " _
& Summa
Такая запись равнозначна строке MsgBox "Сумма равна " & Summa
При вводе ключевых слов VBA целесообразно применять режим дополнения слов: ввести несколько начальных букв и нажать Ctrl + Пробел. При этом произойдет автоматический ввод слова до конца (если оно единственное) или будет выдан перечень слов VBA, начинающихся на введенные буквы – тогда выбрать из этого списка нужное слово, затем нажать клавишу Tab (чтобы остаться в этой же строке) или Enter (для перехода на следующую строку).
В одной программе на VBA при необходимости можно обращаться к различным рабочим листам Excel. Для установки нужного рабочего листа используется метод Select (выбор) для объекта Worksheets (рабочий лист):
Worksheets("Имя листа").Select
Пример:
Worksheets("Лист1").Select 'Выбор рабочего листа с именем "Лист1".
Работа с диапазоном ячеек таблицы выполняется с помощью объекта Range и соответствующего метода, например:
Range("A:IV").Clear 'Очистка текущего рабочего листа (столбцов с A по IV);
Range("A:F").Clear 'Очистка столбцов с A по F;
Range("3:8").Clear 'Очистка строк с третьей по восьмую;
Range("A1:C5").Clear 'Очистка диапазона ячеек с A1 по C5;
Range("A1:C5").Delete 'Удаление ячеек с A1 по C5, включая все объекты в них.