Введение в VBA: Макросы. (Часть 1 из 3)

Что такое 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. Как вы можете себе представить, это огромная библиотека!

The Excel Object Model in VBA

Каждый объект имеет свои собственные свойства и методы, которые мы можем использовать. Есть три основных вещи, которые мы можем сделать со свойствами и методами.

# 1 — Чтение свойств

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

Вот несколько примеров:

i = Worksheets.Count       '(1) передаём переменной i кол-во листов в файле
MsgBox(Worksheets(2).Name) ' (2) показываем сообщение с именем 2-го листа
  1. Worksheets.Count — возвращает количество листов в активной книге.
  2. Worksheets(2).Name — возвращает имя второго по счёту листа в активном Excel-файле

# 2 — Написать свойства

Мы также можем установить или изменить свойства объектов в Excel. Обычно это делается с помощью знака равенства «=» в VBA.

Вот несколько примеров:

Range("A1").Value = 6000
Worksheets("Лист1").Name="Отчет"
Range("А1").Font.Size = 20
  1. Range(«A1»).Value = 6000 — изменяет значение в ячейке А1 на 6000.
  2. Worksheets(«Лист1″).Name=»Отчет» — изменяет имя Лист1 в активном Excel-файле на «Отчет»
  3. Range(«А1»).Font.Size = 20 — изменяет размер шрифта в ячейке А1 на 20.

# 3 — Выполнять действия с методами

Методы — это действия, которые можно выполнить с объектом. Обычно это действия, которые вы выполняете в Excel, нажимая кнопку меню или сочетание клавиш. Вот несколько примеров.

Range("A1"). Copy Range("D1")
Workbook("Бюджет.xls").Save
ActiveWorkbook.Close
Worksheets.Add
Worksheets("Лист5").Delete
  1. Range («A1»). Copy Range («D1») — копирует ячейку A1 и вставляет ее в ячейку D1
  2. Workbook(«Бюджет.xls»).Save — сохраняет файл Бюджет.
  3. ActiveWorkbook.Close — закрывает активную книгу.
  4. Worksheets.Add — добавляет рабочий лист перед активным листом (аналогично сочетанию клавиш Shift + F11)
  5. Worksheets(«Лист5»).Delete — удаляет Лист5 из активного Excel файла
VBA Intellisense Properties and Methods of an Object

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

Когда мы используем метод Worksheets.Add в Excel для добавления листа, метод Add имеет необязательные аргументы или параметры, которые можно указать, чтобы сообщить VBA: где разместить новый лист, сколько листов для вставки и какой тип листа.

VBA Arguments or Parameters of a Property or Method

Вы также можете нажать Ctrl + I, чтобы вызвать это информационное окно с параметрами.

Объекты, свойства и методы

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

Get Help with VBA Objects Properties and Methods

Поместите текстовый курсор в любое свойство или метод и нажмите клавишу F1 на клавиатуре, чтобы просмотреть страницу справки для этого элемента. Это отличный способ увидеть все параметры и узнать больше о VBA.

Вот ссылка на страницу справки для Sheets.Add Method

Кстати, сочетание клавиш для открытия редактора VB — Alt + F11. Нажмите Alt + F11 (Function + Option + F11 на Mac 2011) в любом месте Excel, чтобы открыть редактор VB и просмотреть модули кода.

Что дальше?

В следующей статье мы рассмотрим иерархию объектов Excel и узнаем, что означают точки между словами. Покажу как лучше всего ссылаться на эти объекты, чтобы у вас не было ошибок и проблем

Читайте следующую статью:
Введение в VBA: Объектная модель VBA (Часть 2 из 3)

Оцените статью
Добавить комментарий