- •1.Программирование в vba. Объекты Application, Workbook, Worksheet и Range
- •2.Редактор Visual Basic
- •2.1.Запуск программы
- •2.1.1.Панель инструментов Стандарт
- •2.2.Отладка программ
- •2.2.1.Ошибки при написании программ
- •2.2.1.1.Ошибки компиляции
- •2.2.1.2.Ошибки выполнения
- •2.2.2.Инструкция Option Explicit
- •2.2.3.Пошаговое выполнение программ
- •2.2.4.Точка останова (Toggle Breakpoint)
- •2.2.5.Отслеживание значений свойств и переменных
- •3.Объекты Application, Workbook, Worksheet и Range. Встроенные функции Dir, MkDir, MsgBox, InputBox
- •3.1.Программа СлучайныеЧисла
- •3.2.Программа УдалениеКниги
- •3.3.Программа СлучайныеЧислаОформление
- •4.Переменные
- •4.1.Объектные переменные
- •4.2.Пользовательский тип данных
- •5.Массивы
- •5.1.1.Функция Erase
- •5.1.2.Функции lBound и uBound
- •6.Подпрограммы. Функции. Область видимости переменных, подпрограмм и функций.
- •6.1.Вызов подпрограммы
- •6.2.Передача данных при вызове программы
- •6.2.1.Передача по ссылке и по значению
- •6.3.Функции
- •6.4.Область видимости переменных
- •6.4.1.Переменные уровня процедуры
- •6.4.2.Переменные уровня модуля
- •6.4.3.Переменные уровня проекта
- •6.4.4.Сохраняемые переменные
- •6.4.5.Область видимости подпрограмм и функций
- •6.4.6.Сохраняемые подпрограммы и функции
- •7.Управляющие структуры: If-Then-Else, Select Case, For-Next, While-Wend, Do-Loop, For-Each-Next
- •8.Инструкция With
- •9.Встроенные функции vba
- •9.1.Математические функции
- •9.2.Функции проверки типов
- •9.3.Функции преобразования форматов
- •9.4.Функции обработки строк
- •9.5.Функции времени и даты
- •10.Обработка ошибок: инструкция On Error
- •11.Пользовательский интерфейс
- •11.1.Создание формы (UserForm) и добавление кнопок (СоmmandButton)
- •11.2.Вывод формы на экран (запуск формы)
- •11.3.Поле (TextBox) и надпись (Label).
- •11.4.Список (ListBox) и поле со списком (ComboBox)
- •11.4.1.Список (ListBox)
- •11.4.2.Определение выбранных элементов списка
- •11.4.3.Поле со списком (ComboBox)
- •11.4.4.Определение выбранного элемента
- •11.4.5.Создание взаимосвязанных элементов управления
- •11.5.Флажок (CheckBox)
- •11.6.Выключатель (ToggleButton)
- •11.7.Переключатель (OptionButton)
- •11.8.Счетчик (SpinButton)
- •11.9.Создание нестандартных меню и панелей инструментов.
- •11.9.1.Пример создания/удаления панели инструментов
- •11.9.2.Пример создания/удаления меню
- •12.События объектов Workbook и Worksheet
- •12.1.События объекта Workbook
- •12.2.События объекта Worksheet
- •Домашнее задание №1
- •Домашнее задание №2 и №3. Типовые варианты.
- •Вариант 1. Домашнее задание №2
- •Списочный состав института
- •Домашнее задание №3
- •Вариант 2. Домашнее задание №2
- •Списочный состав института
- •Домашнее задание №3
- •Вариант 3. Домашнее задание №2
- •Домашнее задание №3
- •Вариант 4. Домашнее задание №2
- •Домашнее задание №3
- •Вариант 5. Домашнее задание №2
- •Домашнее задание №3
2.1.Запуск программы
Вы знаете, как запустить программу из окна Excel. Посмотрим, как это же действие выполнить из окна редактора Visual Basic. Прежде всего, установите курсор ввода в любое место программы (например, УзнатьАвтора), которую вы хотите запустить, а затем выполните одно из следующих действий:
выполните команду Запуск (Run) / Запуск подпрограммы / Формы (Run Sub / UserForm) или
щелкните по кнопке Запуск подпрограммы/ Формы (Run Sub/UserForm) на панели инструментов Стандарт (Standard) (Рис. 2 -3) или
щелкните по кнопке [F5].
2.1.1.Панель инструментов Стандарт
Раз мы уже упомянули панель Стандарт (Standard), рассмотрим инструменты этой панели:
Рис. 2‑3. Панель инструментов Стандарт
– кнопка Вид Microsoft Excel (View Microsoft Excel)
служит для переключения из редактора
в окно Excel.
– кнопка Вставить (Insert): вставка в проект формы, модуля, модуля класса или процедуры.
– кнопка Сохранить (Save): сохраняет проект и содержащую его рабочую книгу. Аналогично действие и кнопки Сохранить (Save) в окне Excel — оно распространяется и на книгу, и на входящий в нее проект.
– кнопка Найти (Find) открывает
диалоговое окно Поиск (Find)
для поиска текста. Помимо поиска позволяет
заменить найденный текст другим.
– кнопка Панель элементов (Toolbox): отображает панель с элементами управления, которые можно вставлять в формы и диалоговые окна.
– кнопка Просмотр объектов (Object Browser) открывает одноименное окно (Рис. 2 -4). В этом окне перечислены все программируемые объекты, установленные и зарегистрированные в системе, а также связанные с ними свойства, методы и события. В этом же окне указаны программы и переменные уровня модуля из Ваших проектов.
Окно Просмотр объектов (Object Browser) состоит из трех основных частей:
раскрывающегося списка Проект/библиотека (Project/Library) в верхнем левом углу окна, из которого можно выбрать различные проекты и библиотеки объектов. Выбор элемента All Libraries отображает список всех библиотек.
списка Классы (Classes), в котором содержатся классы объектов выбранной Вами библиотеки;
списка Компоненты (Members), в котором содержатся компоненты выбранного класса.
Рис. 2‑4. Окно Просмотр объектов (Object Browser)
2.2.Отладка программ
2.2.1.Ошибки при написании программ
Создавая программу, даже опытный программист допускает ошибки. Все ошибки условно можно разделить на три группы: ошибки компиляции, выполнения и логики. Рассмотрим те ошибки, которые «ловит» Visual Basic.
2.2.1.1.Ошибки компиляции
Ошибки компиляции возникают тогда, когда Visual Basic не может интерпретировать введенный код. Это происходит, например, при неправильном вводе числа скобок, неправильном имени, неполной инструкции и т.д. Строка, в которой обнаружена ошибка (после того как нажата клавиша [Enter]), выделяется красным цветом, и на экране появляется диалоговое окно с сообщением о возможной ошибке (Рис. 2 -5).
Рис. 2‑5. Ошибка компиляции, обнаруженная при вводе: не хватает круглой скобки
Другие ошибки компиляции выявляются сразу же после запуска программы. В этом случае предполагаемое местоположение ошибки выделяется синим цветом и на экране появляется диалоговое окно с сообщением об ошибке (Рис. 2 -6).
Рис. 2‑6. Ошибка компиляции, обнаруженная после запуска программы: цикл For без своего завершения (Next)
Задание:
В файле Мои программы.xls в Модуле1 наберите программу СлучайныеЧисла, которая разыгрывает 10 случайных чисел и помещает их в первые 10 ячеек первого столбца:
Sub СлучайныеЧисла()
Dim СлучЧисло As Integer
For i = 1 To 10
СлучЧисло = Int(100 * Rnd())
Cells(i, 1).Value = СлучЧисло
Next i
MsgBox "Случайные числа разыграны!"
End Sub
Сгенерируйте описанные выше ошибки.
