Что такое VBA?
Visual Basic for Application (VBA) — это язык программирования, который мы используем при написании макросов в Excel (и других программах Office). Написал макрос, запустил и сэкономил время на скучных повторяющихся задачах. Начать лучше с автоматизации небольших задач. Потом уже, набив руку, писать целые приложения и надстройки.
Когда в первый раз в жизни видишь код VBA, то становится дурно. Ничего не понятно. Но на самом деле любой VBA код не так сложно прочитать. Надо просто смотреть не на весь код сразу, а двигаться по строчкам и пытаться понять что делает каждая команда. Минимальных знаний английского хватит.
Программирование объектов в VBA — свойства и методы
VBA — это объектно-ориентированный язык программирования. Мы пишем код, который манипулирует объектами в Excel.
Объекты — это практически все, что вы можете себе представить в Excel: таблицы, диапазоны, диаграммы, сводные таблицы и т.д.
При написании кода VBA мы может читать/записывать свойства объектов или выполнять действия (методы) над объектами.
Посмотрите на примеры ниже и попробуйте догадаться что делает каждая из команд. Далее я расскажу что каждая из команд делает
i = Worksheets.Count Range("A1"). Copy Range("D1") Range("A1").Value = 6000 Workbook("Бюджет.xls").Save MsgBox(Worksheets(2).Name) ActiveWorkbook.Close Worksheets("Лист1").Name="Отчет" Range("А1").Font.Size = 20 Worksheets.Add Worksheets("Лист5").Delete
Ещё одно понятие, с которым вы должны познакомиться — это объектная модель Excel. Это библиотека всех объектов в Excel. Как вы можете себе представить, это огромная библиотека!

Каждый объект имеет свои собственные свойства и методы, которые мы можем использовать. Есть три основных вещи, которые мы можем сделать со свойствами и методами.
# 1 — Чтение свойств
Мы можем получить информацию из Excel, читая свойства объектов. Это похоже на задание вопросов о текущей книге, листе и т.д.
Вот несколько примеров:
i = Worksheets.Count '(1) передаём переменной i кол-во листов в файле MsgBox(Worksheets(2).Name) ' (2) показываем сообщение с именем 2-го листа
- Worksheets.Count — возвращает количество листов в активной книге.
- Worksheets(2).Name — возвращает имя второго по счёту листа в активном Excel-файле
# 2 — Написать свойства
Мы также можем установить или изменить свойства объектов в Excel. Обычно это делается с помощью знака равенства «=» в VBA.
Вот несколько примеров:
Range("A1").Value = 6000 Worksheets("Лист1").Name="Отчет" Range("А1").Font.Size = 20
- Range(«A1»).Value = 6000 — изменяет значение в ячейке А1 на 6000.
- Worksheets(«Лист1″).Name=»Отчет» — изменяет имя Лист1 в активном Excel-файле на «Отчет»
- Range(«А1»).Font.Size = 20 — изменяет размер шрифта в ячейке А1 на 20.
# 3 — Выполнять действия с методами
Методы — это действия, которые можно выполнить с объектом. Обычно это действия, которые вы выполняете в Excel, нажимая кнопку меню или сочетание клавиш. Вот несколько примеров.
Range("A1"). Copy Range("D1") Workbook("Бюджет.xls").Save ActiveWorkbook.Close Worksheets.Add Worksheets("Лист5").Delete
- Range («A1»). Copy Range («D1») — копирует ячейку A1 и вставляет ее в ячейку D1
- Workbook(«Бюджет.xls»).Save — сохраняет файл Бюджет.
- ActiveWorkbook.Close — закрывает активную книгу.
- Worksheets.Add — добавляет рабочий лист перед активным листом (аналогично сочетанию клавиш Shift + F11)
- Worksheets(«Лист5»).Delete — удаляет Лист5 из активного Excel файла

Большинство свойств и методов содержат дополнительные параметры, которые вы можете указать для настройки вашего запроса. Оглядываясь назад на пример резки картофеля, моя жена хотела кубики 1/2 дюйма, поэтому я указал это при использовании метода вырезания.
Когда мы используем метод Worksheets.Add в Excel для добавления листа, метод Add имеет необязательные аргументы или параметры, которые можно указать, чтобы сообщить VBA: где разместить новый лист, сколько листов для вставки и какой тип листа.

Вы также можете нажать Ctrl + I, чтобы вызвать это информационное окно с параметрами.
Объекты, свойства и методы
Объектная модель Excel — это огромная библиотека. Я кодирую VBA 10 лет и до сих пор не знаю всего. Я, вероятно, никогда не буду. Но легко получить помощь и узнать об объектах, которые вы хотите использовать.

Поместите текстовый курсор в любое свойство или метод и нажмите клавишу F1 на клавиатуре, чтобы просмотреть страницу справки для этого элемента. Это отличный способ увидеть все параметры и узнать больше о VBA.
Вот ссылка на страницу справки для Sheets.Add Method
Кстати, сочетание клавиш для открытия редактора VB — Alt + F11. Нажмите Alt + F11 (Function + Option + F11 на Mac 2011) в любом месте Excel, чтобы открыть редактор VB и просмотреть модули кода.
Что дальше?
В следующей статье мы рассмотрим иерархию объектов Excel и узнаем, что означают точки между словами. Покажу как лучше всего ссылаться на эти объекты, чтобы у вас не было ошибок и проблем
Читайте следующую статью:
Введение в VBA: Объектная модель VBA (Часть 2 из 3)