TOP

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA - это язык программирования (расшифровывается как Visual Basic for Applications), который был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA - простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами.

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш "ALT+F11".

Объекты (Objects)

Давайте разберем, что же такое объект. Объект - это элемент, структурная частица Excel, а именно: книга, лист, диапазон, ячейка. Данные объекты имеют иерархию, т.е. подчиняются друг другу. Схематично структуру иерархии Excel можно изобразить следующим образом:

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке "A1" на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks("Архив").Worksheets("Лист1").Range("A1").

Таким образом, мы научились обращаться до наименьшего объекта в Excel - ячейки.

Коллекции (Collections)

В свою очередь объекты имеют "коллекции". Коллекция - это группа объектов одинакового класса. Отдельные элеметы коллекции являются также объектами. Так, объекты Worksheets являются элементами коллекции объекта Worksheet, который содержит также и другие коллекции и объекты:

Свойства (Properties)

Каждый объект имеет свойства. Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value или Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula - получим сообщение с формулой в ячейке "А1";

Range(“B12”).Formula = “=2+6*100”- вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды "что сделать"). При написании кода методы отделяются от объекта точкой, например:

Range("A1").Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку "A1".

Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа "берет" то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Статьи по теме:

  • VBA-Урок 2. Отладчик (Debugger)