
- •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
- •Перечень предлагаемых курсов постоянно дополняется. Программа обучения может быть согласована с предприятием заказчиком. По окончании курса выдается свидетельство.
- •Тест рекомендован Министерством образования рф. Партнеры Учебного центра «Стелс-Про»
События объекта
Событие |
Описание |
BeforeClose |
При закрытии рабочей книги. |
BeforePrint |
Перед печатью рабочей книги. |
BeforeSave |
Перед сохранением рабочей книги. |
Deactivate |
Когда рабочая книга теряет фокус. |
NewSheet |
При добавлении нового листа. |
Open |
При открытии рабочей книги. |
SheetActivate |
При активизации любого рабочего листа. |
SheetDeactivate |
Когда рабочий лист теряет фокус. |
13.4Объекты Range и Selection
В иерархии Excel объект Range (диапазон), один из ключевых объектов VBA, следует сразу после объекта Worksheet. Объект Selection возникает либо как результат метода Select, либо при вызове свойства Selection. При работе с объектом Selection используются свойства и методы объекта Range.
Адресация ячеек
Таблица 15. Абсолютная адресация
Формат |
Описание |
$A$1 |
Признаком абсолютной адресации является знак “$”, предшествующий имени строки или столбца. |
R1C1 |
Адресация задается индексом строки и индексом столбца. |
Таблица 16. Относительная адресация
Формат |
Описание |
A1 |
Имя ячейки состоит из буквы столбца и номера строки. |
R[1]C[1] |
Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является R2C3, то R[1]C[-1] дает ссылку на ячейку R3C2. |
Задание групп строк и столбцов
Если в диапазоне указываются только имена столбцов или строк, то объект Range задает диапазон, состоящий из указанных столбцов или строк. Например, Range(“A:C”) задает диапазон, состоящий из столбцов A, B, C, а Range(“2:2”) – из второй строки. Другим способом работы со строками и столбцами являются свойства рабочего листа Rows и Columns, возвращающие семейства строк и столбцов. Например, столбцом A является Columns(1), а второй строкой Rows(2).
Связь объекта Range и свойства Cells объекта Worksheet
Ячейка – это частный случай диапазона, который состоит из единственной ячейки. Например, ячейку A2 можно описать как Range(“A2”) или Cells(2,1) – сначала указывается номер строки, затем номер столбца.
При помощи свойства Cells можно определять диапазоны, например:
Range(“A2:C3”)
Range(Cells(2,1), Cells(3,3))
Диапазон, как и рабочий лист, обладает свойством Cells, которое, если используется без параметров, возвращает множество всех ячеек, входящих в диапазон. Если же оно используется с параметром, то возвращает конкретную ячейку из диапазона. Например, в следующем примере значение 2 вводится в ячейку C3:
Range(“B2:D4”).Select
Selection.Cells(2,2).Value = 2
Свойства объекта Range
Свойство |
Описание |
Value |
Возвращает или устанавливает значение в ячейках диапазона. Например: X = Range(“C1”).Value Range(“A1:B2”).Value=1 |
Name |
Возвращает или устанавливает имя диапазона. Вручную на рабочем листа имя диапазона присваивается выбором команды Вставка – Имя – Присвоить. Например: Range(“A2:B2”).Name = “Итоги” |
WrapText |
Логическое свойство, управляющее, разрешен ли перенос текста в диапазоне. |
EntireColumn EntireRow |
Возвращает столбец или строку, соответственно. Например: ActiveCell.EntireRow.Clear (очищает содержимое строки, содержащей активную ячейку) ActiveCell.EntireColumn.Select (выделяет столбец, содержащий активную ячейку) |
Columns Rows |
Возвращает семейства столбцов и строк, из которых состоит диапазон. |
ColumnWidth RowHeight |
Возвращает или устанавливает ширину столбцов и высоту строк в диапазоне. |
Width Height |
Возвращает или устанавливает ширину и высоту диапазона. |
Hidden |
Логическое свойство, которое определяет, является ли диапазон спрятанным. |
Comment |
Возвращает объект Примечание (Comment), который при отображении на экран связан с левым верхним углом диапазона. Вручную на рабочем листе примечание добавляется к диапазону выбором команды Вставка, Примечание. В коде примечание можно создать методjм AddComment диапазона. AddComment(Text) Text – текст, вводимый в примечание. Для объекта Comment определено свойство parent, которое возвращает диапазон, для которого примечание было создано. Для объекта Comment определен метод Delete, который удаляет объект, и метод Text, который задает текст, выводимый в примечании. Text(Text, Start, Overwrite) Text – необязательный. Текст, выводимый в качестве примечания. Start - необязательный. С какого символа вводится текст в уже существующее примечание. Если параметр опущен, то из примечания удаляется весь ранее введенный текст. Overwrite – параметр, принимающий логическое значение. Если он равен True, то вводимый текст записывается вместо уже существующего текста, а если false, то добавляется к уже существующему тексту. |
Interior |
Возвращает объект Фон ячейки (Interior). Для этого объекта определены свойства Color и ColorIndex. |
Font |
Возвращает объект Шрифт (Font). Объект Font имеет следующие свойства:
|
Characters |
Возвращает строку указанной длины от указанного символа. Используется, если форматируется не весь текст, а его часть. Например: With Range("A1") .Value = "Пришло долгожданное лето!" .Characters(8, 13).Font.Italic = True ‘Слово долгожданное выделяется курсивом End With |
Formula |
Возвращает формулу в формате A1. |
FormulaLocal |
Возвращает формулу локальной версии в формате A1. Например: Range("F7").FormulaLocal = "=СРЗНАЧ(B7:E7)" |
FormulaArray |
Возвращает формулу диапазона в формате A1. На рабочем листе формула диапазона вводится при нажатой комбинации клавиш <Ctrl>+<Shift>+<Enter>. Например: Range("B9:E9").FormulaArray = "=B7:E7*2" |
FormulaR1C1 |
Возвращает формулу в формате R1C1. Range("G7").FormulaR1C1 = "=R7C6*5" |
FormulaR1C1Local |
Возвращает формулу в локальной версии в формате R1C1. |
Text |
Возвращает содержание диапазона в текстовом формате. |
HorizontalAlignment |
Горизонтальное выравнивание. Допустимые значения:
|
VerticalAlignment |
Вертикальное выравнивание. Допустимые значения:
|
Orientation |
Ориентация. Допускается либо угол поворота текста в градусах от –90 до 90, либо одно из допустимых значений:
|
ShrinkToFit |
Логическое свойство, которое устанавливает, надо ли автоматически изменять шрифт так, чтобы текст помещался в ячейку. |
Top, Left |
Возвращает координаты верхнего левого угла диапазона. |
Areas |
Возвращает семейство Areas, состоящее из всех связанных диапазонов, входящих в выбранное множество ячеек. |
End |
Возвращает крайнюю ячейку в диапазоне в указанном направлении, содержащем заданный диапазон. End(Direction) Параметр Direction может принимать следующие значения: xlToLeft, xlToRight, xlUp, xlDown. Range("A1:B4").Value = "Тест" Range("A1:B4").End(xlToRight).Value = "x" (в ячейку B1 будет введено x) |
Address |
Возвращает адрес ячейки. Address(rowAbsolute, columnAbsolute, referenceStyle, external, relativeTo) rowAbsolute – необязательный. Если имеет значение True или параметр опущен, то возвращается абсолютная ссылка на строку. columnAbsolute - необязательный. Если имеет значение True или параметр опущен, то возвращается абсолютная ссылка на столбец. referenceStyle – необязательный. Допустимы два значения xlA1 и xlR1C1. Если параметр опущен, то возвращается ссылка в формате A1. external - необязательный. Логический параметр, задающий тип ссылки (False – только адрес ячейки, True – адрес, начиная с имени файла). По умолчанию равен - False. relativeTo – необязательный. Если rowAbsolute и columnAbsolute равны False, а referenceStyle - xlR1C1, то данный аргумент определяет начальную ячейку диапазона, относительно которой производится адресация.
Например: MsgBox (ActiveCell.Address) MsgBox (ActiveCell.Address(External:=True)) |