VBA-Урок 1. Що таке VBA. Основні поняття.

У даному розділі ми розглянемо що таке VBA, оскільки саме на ньому і пишуться макроси.

Що таке VBA?

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

VBA - проста мова програмування, якій може навчитися будь-який бажаючий. Вивчивши її, ви зможе надавати команди Excel, що робити з колонками, рядками, значеннями в комірках, переміщати/додавати/сортувати аркуші, виводити заздалегідь запрограмовані повідомлення, писати свої формули та функції тощо. Суть мови заключається в оперуванні об'єктами (що відносить її до об'єктно-орієнтованого програмування).

Щоб працювати з VBA кодом, нам потрібен редактор (Visual Basic Editor), який вже є встановлений в Excel по замовчуванню. Ви можете відкрити його, натиснувши комбінацію клавіш "ALT+F11".

Об'єкти (Objects)

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

Найголовніший об'єкт це Application, що відповідає самій програмі Excel. Далі іде Workbooks (книга), Worksheets (аркуш), Range (діапазон, або окрема комірка).

Наприклад, щоб звернутися до комірки "A1" на аркуші, нам потрібно буде прописати наступний шлях з врахуванням ієрархії:

Application.Workbooks("Архів").Worksheets("Sheet1").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)