- •1. Теоретические основы
- •Структура редактора vba
- •Интеллектуальные возможности vba
- •Встроенные диалоговые окна
- •2. Основы программирования на vba Допустимые имена
- •Переменные
- •Оператор присвоения
- •Оператор With
- •Операторы управления
- •Оператор условного перехода
- •Оператор выбора
- •Оператор For – Next
- •Оператор For Each
- •Оператор While – Wend
- •Оператор Do – Loop
- •Методы формы
- •События формы
- •Элементы управления
- •Общие свойства элементов управления
- •Общие методы элементов управления
- •Общие события элементов управления
- •Кнопка (CommandButton)
- •Поле (TextBox)
- •Надпись (Label)
- •Переключатель (OptionButton)
- •Список (ListBox)
- •Поле со списком (ComboBox)
- •Отображение встроенных диалоговых окон
- •4. Задания для самостоятельной работы Задание 1. Работа со встроенными диалоговыми окнами
- •Задание 2. Использование элементов управления набора вкладок и набора страниц
- •Задание 3. Добавление данных в таблицу Excel
- •Задание 4 Добавление данных на лист «Реализация товаров» Задание 5. Добавление и удаление данных (с применением вкладок)
- •Задание 6. Поиск и изменение данных в таблицах.
- •Задание 7. Сортировка данных Задание 8. Создание ведомости (отчета)
- •Задание 9. Оформление курсовой работы.
- •Требования к курсовой работе
- •Задания на курсовую работу
Оператор выбора
Если нужно проверить несколько условий, то оператор If – Then может стать слишком сложным. В этом случае применяется оператор выбора, который выполняет одну из нескольких групп инструкций, в зависимости от значения выражения
Синтаксис:
Select Case Выражение
[Case СписокВыражений -1
[Инструкции -1]]
……
[Case СписокВыражений -n
[Инструкции -n]]
[Case Else
[Инструкции _Else]]
End Select
Оператор выбора очень эффективен, когда надо проверить одну переменную, принимающую несколько значений. В следующем примере, в зависимости от величины введенного числа отображается сообщение, указывающее на величину числа или диапазон, которому оно принадлежит:
Число = InputBox («Введите целое число»)
Select Case Число
Case 1
MsgBox «Число равно 1»
Case 2, 3
MsgBox «Число равно 2 или 3»
Case 4 To 6
MsgBox «Число от 4 до 6»
Case Is >=7
MsgBox «Число не менее 7»
End Select
Оператор For – Next
Этот оператор повторяет выполнение группы инструкций указанное число раз
Синтаксис:
For Счетчик = Начало To Конец [Step Шаг]
[ Инструкции]
[Exit For]
[ Инструкции]
Next [Счетчик ]
Оператор For – Next повторяет выполнение группы инструкций, пока «Счетчик» изменяется от Начала до Конца с указанным Шагом. Если Шаг не указан, то он полагается равным 1. Альтернативный способ выхода из цикла предоставляет инструкция Exit For.
Например, при помощи оператора цикла находится сумма элементов массива:
Dim A As Variant
A = Array (1,4,12,23,34,3,23)
S = 0
For i = LBound (a) To Ubound (a)
S = s+ A(i)
Next i
Оператор For Each
Этот оператор повторяет выполнение группы инструкций для каждого элемента массива или семейства
Синтаксис:
For Each Элемент In Группа
[ Инструкции]
[Exit For]
[ Инструкции]
Next [ Элемент]
Альтернативный способ выхода из цикла предоставляет инструкция Exit For
Например, при помощи этого оператора организуется работа с семейством ячеек. Все ячейки диапазона А1:С4 с положительными значениями окрашиваются в синий цвет, а с неположительными – в красный
For Each Ячейка In Range (“A1:C4”). Cells
With Ячейка
If. Value <= 0 Then
.Interior. ColorIndex = 3
Else
.Interior. ColorIndex = 5
End If
End With
Next Ячейка
Оператор While – Wend
Выполняет последовательность инструкций, пока заданное условие имеет значение True
Синтаксис:
While Условие
[ Инструкции]
Wend
Этот оператор, в отличии от For – Next работает не заданное число раз, а пока выполняется условие.
Оператор Do – Loop
Этот оператор повторяет выполнение набора инструкций, пока условие имеет значение True (случай While) или пока оно не примет значение True (случай Until)
Синтаксис:
Do [{While , Until} Условие]
[ Инструкции]
[Exit Do]
[Инструкции]
Loop
Или:
Do
[Инструкции]
[Exit Do]
[Инструкции]
Loop [{While , Until} Условие]
В любом месте управляющей структуры Do – Loop может быть размещено любое число инструкций Exit Do, обеспечивающих альтернативные возможности выхода из цикла Do – Loop. Примером использования оператора цикла Do – Loop Until может быть следующий код, который обеспечивает повторение цикла до тех пор, пока в поле ввода диалогового окна не будет введен пароль:
Do
Пароль = InputBox («Введите пароль»)
Loop Until Пароль = «привет»
Примером использования альтернативного выхода может стать следующий код, в котором суммируются вводимые числа. Цикл завершается в случае ввода любого строкового выражения
S=0
Do
X = InputBox («Введите число»)
If Not IsNumeric (x) Then Exit Do
S = s+x
Loop
Оператор безусловного перехода GoTo
Оператор безусловного перехода задает переход на указанную строку внутри процедуры. Обязательный параметр «строка» может быть любой меткой строки или ее номером
Синтаксис:
GoTo Строка
Для использования оператора безусловного перехода надо какой-то строке присвоить метку. Метка должна начинаться с буквы и заканчиваться двоеточием.
3. ФОРМА И ЭЛЕМЕНТЫ УПРАВЛЕНИЯ
Форма
По своей сути пользовательская форма представляет собой диалоговое окно, в котором можно размещать различные элементы управления. В приложении может быть как одна, так и несколько форм. Новая форма добавляется в проект выбором команды Insert – UserForm
Свойства формы
Таблица 1
Свойство |
Описание |
Name |
Возвращает или устанавливает имя пользовательской формы |
Caption |
Возвращает или устанавливает текст, отображаемый в строке заголовка формы |
BorderColor, BackColor |
Возвращают и устанавливают цвет фона и текста формы |
Left, Top |
Устанавливают местоположение верхнего левого угла формы |
Picture |
Определяет рисунок, отображаемый как фон формы |