
- •1.Создание макросов путем записи последовательности действий
- •1.1Запись действий для создания макроса
- •1.2Редактирование макроса
- •1.3Адресация в макросах: абсолютная и относительная
- •1.4Назначение макроса кнопке панели инструментов
- •2.Как работает vba
- •Свойства объекта Application
- •3.Структура программы
- •4.Условные обозначения
- •5.Типы данных
- •6.Объявление переменных
- •Неявное объявление переменных
- •Инициализация по умолчанию
- •7.Константы
- •8.Структурированные типы данных
- •8.1Массив
- •8.2Перечисляемый тип
- •8.3Запись
- •9.Операторы
- •9.1Операторы присваивания
- •Оператор Let
- •Оператор lSet
- •Оператор rSet
- •9.2Условные операторы
- •Оператор If…Then…Else
- •Оператор выбора Select Case
- •Функция iIf
- •9.3Оператор безусловного перехода GoTo
- •9.4Операторы цикла
- •10.Диалоговые окна
- •10.1Функция InputBox
- •10.2Функция MsgBox
- •11.Объявление процедур и функций
- •11.1Объявление процедур
- •11.2Объявление функций
- •11.3Аргументы процедур и функций
- •12.Встроенные функции
- •12.1Математические функции
- •12.2Функции обработки строк
- •12.3Функции времени и даты
- •12.4Функции преобразования типов
- •Дополнительные функции
- •12.5Преобразование форматов
- •12.6Функции работы с цветом
- •12.7Функции проверки типов
- •13.Объекты ms Excel
- •13.1Объект Application Свойства объекта
- •13.2Объект Workbook и семейство Workbooks Свойства объекта
- •Методы объекта
- •События объекта
- •13.3Объект Worksheet и семейство Worksheets Свойства объекта
- •Методы семейства
- •События объекта
- •13.4Объекты Range и Selection
- •Адресация ячеек
- •Задание групп строк и столбцов
- •Связь объекта Range и свойства Cells объекта Worksheet
- •Свойства объекта Range
- •Методы объекта Range
- •13.5Объект Windows Свойства объекта
- •14.Форма и элементы управления
- •14.1Форма
- •Свойства формы
- •Методы формы
- •События формы
- •Инструкции, управляющие процессами начала и завершения работы с формой
- •Ключевое слово Me
- •14.2Элементы управления
- •Общие свойства элементов управления
- •Общие методы элементов управления
- •Общие события элементов управления
- •Кнопка (CommandButton) Свойства объекта
- •Поле (TextBox)
- •Свойства объекта
- •Счетчик
- •Свойства объекта
- •Список (ListBox)
- •Свойства объекта
- •Методы объекта
- •Поле со списком (ComboBox)
- •Свойства объекта
- •Методы объекта
- •Объект Collection
- •Методы объекта
- •Свойства объекта
- •Набор страниц (MultiPage)
- •Свойства объекта
- •Методы объекта
- •Набор вкладок (TabStrip)
- •Календарь (Calendar)
- •Свойства объекта
- •Методы объекта
- •Отображение встроенных диалоговых окон
- •Команды компоновки элементов управления на форме
- •15.Обработка данных
- •15.1Консолидация рабочих листов. Метод Consolidate объекта Range.
- •15.2Сортировка данных. Метод Sort.
- •15.3Использование Автофильтра. Метод AutoFilter.
- •15.4Промежуточные итоги. Метод Subtotal. Объект Outline. Метод Subtotal
- •Объект Outline
- •Свойства объекта
- •15.5Сводная таблица. Объект PivotTable
- •Метод PivotCaches и объект PivotCache
- •Метод PivotTableWizard
- •Объекты PivotTable и PivotField
- •16.Создание справочной системы
- •16.1Создание файла содержания
- •16.2Создание файла разделов
- •16.3Создание файла проекта
- •16.4Подключение справки
- •17.Программирование панели инструментов
- •17.1Объект CommandBar и семейство CommandBars
- •Методы объекта CommandBar
- •Свойства объекта CommandBar
- •Названия панелей инструментов
- •17.2Семейство CommandBarControls и объект CommandBarControl
- •Свойства объекта CommandBarControl
- •Методы объекта CommandBarControl
- •17.3Элемент управления CommandBarButton
- •17.4Элемент управления CommandBarPopup
- •17.5Элемент управления CommandBarComboBox
- •1С: Бухгалтерия 7.7
- •1С: Предприятие 8.0:
- •1С: Бухгалтерия 8.0
- •Перечень предлагаемых курсов постоянно дополняется. Программа обучения может быть согласована с предприятием заказчиком. По окончании курса выдается свидетельство.
- •Тест рекомендован Министерством образования рф. Партнеры Учебного центра «Стелс-Про»
Оператор выбора Select Case
Если выбор одной из нескольких возможностей основан на значении одного и того же выражения, то удобно использовать предназначенный для этого оператор выбора Select Case, имеющий следующий вид:
Select Case выражение
Case Списокзначений1
БлокОператоров1
…
[Case СписокзначенийN
БлокОператоровN]
[Case Else
БлокОператоров_Else]
End Select
Проверяемое выражение вычисляется в начале работы оператора Select Case. Это выражение может быть любого типа. Далее идет ряд альтернатив, начинающихся словом Case. В каждой альтернативе указан список значений, представляющих собой несколько возможных значений, разделенных запятой или ключевым словом To (при задании диапазона значений). При выполнении оператора вычисленное значение выражения сравнивается со списком значений альтернатив. Если хотя бы один из элементов списка значений соответствует проверяемому выражению, то выполняется соответствующий блок операторов, и на этом выполнение оператора Select Case заканчивается. Если же ни один из элементов всех списков альтернатив не соответствует значению проверяемого выражения, выполняется блокОператоров_Else (если слово Else вообще присутствует).
Например:
Sub ПримерИспользованияОператораSelect()
‘Вводится строка, обозначающая день недели.
‘Определить, выходной это день или рабочий.
Dim День As String, Строка As String
Строка = "Введите день недели"
День = InputBox(Строка) ‘Вводится день недели
Select Case День
Case "Суббота", "Воскресенье"
MsgBox ("Выходной")
Case Else
MsgBox ("Рабочий")
End Select
End Sub
Функция iIf
Используется в случае с простым ветвлением. Имеет следующий вид:
IIf (выражение, значениеЕслиДа, значениеЕслиНет)
Эта функция проверяет значение выражения, если оно истинно, то функция возвращает значениеЕслиДа, в противном случае – значениеЕслиНет.
Например:
D2 = IIf (I<=10, 250, 50)
В зависимости от значения величины I переменной D2 будет присвоено либо значение 250, либо 50.
9.3Оператор безусловного перехода GoTo
Помимо условных операторов в VBA существует оператор безусловного перехода, который меняет порядок выполнения операторов в программе (безусловно).
GoTo имяМетки
После ключевого слова идет имя метки. Метка – это идентификатор, приписанный оператору программы и используемый в других частях программы для обращения к этому оператору.
Для того чтобы отметить оператор в программе, указывается имя метки, ставится двоеточие и указывается нужный оператор. Для того чтобы организовать переход на отмеченный оператор, указывается служебное слово GoTo и указывается имя метки, на которую осуществляется переход.
Пример:
Label1: MsgBox (“Использование метки”)
GoTo label1
9.4Операторы цикла
For…Next (цикл со счетчиком)
Данный оператор позволяет выполнять группу операторов (которая называется телом цикла) заранее определенное количество раз, при этом параметр цикла (счетчик) последовательно принимает ряд значений, определенный пользователем в заголовке цикла.
For счетчик = начало To конец [Step шаг]
[БлокОператоров1]
[Exit For]
[БлокОператоров2]
Next [счетчик]
Счетчик – это числовой параметр цикла, который должен принимать ряд значений от значения начало до значения конец. Причем этот ряд может образовывать как возрастающую, так и убывающую арифметическую прогрессию. Необязательный параметр шаг при необходимости мог бы указывать, с каким шагом следует пробегать заданный ряд значений (по умолчанию он равен 1).
БлокОператоров1 – это блок операторов, который будет выполнен пока счетчик не пробежит ряд значений до конца. Прервать же данный пробег вправе только оператор Exit For, предназначенный для выхода из цикла не дожидаясь его завершения и передачи управления оператору, следующему непосредственно за Next. Как правило, оператор Exit For используется в тех местах тела цикла, где требуется из него выйти по условию.
В конце цикла ставится заключительный оператор Next, после которого указывается счетчик цикла.
Do … Loop (цикл с условием)
Если не известно заранее сколько раз должно выполняться тело цикла, но известно условие при котором цикл должен продолжать или прекращать свою работу, то используется цикл с условием.
Существует два вида циклов с условием: с предусловием и с постусловием. Соответственно цикл Do … Loop имеет две синтаксические конструкции:
/Предусловие/
Do [{While Until} условие]
[блокОператоров1]
[Exit Do]
[блокОператоров2]
Loop
/Постусловие/
Do
[блокОператоров1]
[Exit Do]
[блокОператоров2]
Loop [{While Until} условие]
Различие конструкций в том, что в первом случае условие будет проверяться до выполнения блока операторов (предусловие), а во втором – после (постусловие).
Если при проверке условия в конструкции стоит ключевое слово While, то блок операторов будет выполняться, пока условие остается истинным, если же стоит Until, то блок операторов будет выполняться, пока условие остается ложным.
Условие не является обязательным. Если его нет, то по умолчанию оно трактуется, как False.
Необязательный оператор Exit Do аналогичен оператору Exit Forв цикле For…Next. Он также прекращает выполнение цикла и передает управление на оператор, следующий непосредственно за Loop.
While…Wend
Данный оператор является частным случаем оператора Do…Loop.
While условие
БлокОператоров
Wend
БлокОператоров выполняется пока условие истинно.
For Each … Next (циклы по структуре данных)
В этом операторе тело цикла выполняется для каждого элемента в массиве.
For Each элемент In группа
[блокОператоров1]
[Exit For]
[блокОператоров2]
Next [элемент]
Здесь элемент – это переменная, пробегающая в качестве значений элементы массива. Элемент обязан быть переменной типа Variant.