ягає в правильному розумінні об'єктної моделі У кожному окремому додатку. Слід відзначити. VBA всього лише управляє об'єктами, а у кожного програмного продукту (Excel. Word. Access. PowerPoint тощо) своя об'єкт-ная модель. Додатком можна керувати програмним чином тільки з помощьюоб'ектов, які представлені в цьому додатку.  
 Наприклад, в об'єктної моделі Excel представлено кілька потужних об'єктів аналізу даних, наприклад, робочі листи, діаграми, зведені таблиці, сценарії, а також численні математичні, фінансові, інженерні та загальні функції. З допомогою VBA ви можете працювати з цими об'єктами і розробляти автоматизовані процедури. 
   Порівняння VBA і XLM  
  До появи Excel 5 розробниками використовувався потужний (але складний для розуміння) мова макросів під назвою XLM. Пізніші версії Excel все ще виконують макроси XLM, але, починаючи з Excel 97, користувачі не мають можливості записувати макроси на мові XI.M. Для сучасних розробок використовується виключно VBA. 
    Основи VBA  
  Дії в VBA здійснюються в результаті виконання коду VBA. • Ви створюєте (або записуєте) програму VBA. яка зберігається в модулі VBA. 
  • Модуль VBA складається з процедур. p> Процедура, за суті, являє собою елемент комп'ютерної програми, що виконує певну дію. Нижче наведено приклад простої процедури під назвою Test: вона обчислює суму, а потім відображає результат у вікні повідомлень: 
  Sub Test () 
  Sum = 1 + 1 
  MsgBox "Відповідь:" & Sum 
  End Sub 
  • Крім процедур Sub. в модулі VBA може використовуватися другий тип процедур - функции. 
  Процедура функції повертає одне значення (або масив). Функція може бути викликана з іншої процедури VBA або використовуватися у формулі робочого аркуша. Далі наведено приклад функції з назвою AddTwo: 
				
				
				
				
			  Function AddTwo (argl, arg2) 
  AddTwo = argl + arg2 
  End Function 
  • VBA управляє об'єктами, які представлені запускає додатком (у. даному випадку Excel). 
  Excel дозволяє керувати більш, ніж ста класами об'єктів, включаючи робочу книгу, робочий лист, діапазон комірок робочого аркуша, діаграму і намальований прямокутник. У вашому розпорядженні знаходяться і інші об'єкти, з якими можна працювати в VBA. p> • Класи об'єктів організовані в ієрархічну структуру. 
  Об'єкти можуть бути контейнерами для інших об'єктів. Наприклад, Excel - це об'єкт під назвою Application, він містить інші об'єкти, наприклад. Workbook (Робоча книга). Об'єкт Workbook може складатися з інших об'єктів, наприклад. Worksheet (Робочий лист) і С h а г t (Діаграма). Об'єкт Worksheet також містить об'єкти, наприклад. Range (Діапазон), Р iv про t Т ab 1 е (Зведена таблиця) і т.д. Організацію таких об'єктів називають об'єктною моделлю Excel. p> Однакові об'єкти формують колекцію. Наприклад, колекція Worksheets складається з усіх робочих аркушів конкретної робочої книги, а колекція CommandBars - з усіх об'єктів CommandBar. Колекції - це об'єкти в собі. p> При посиланні на об'єкт, вкладений в інший об'єкт, положення в ієрархічній структурі об'єктної моделі задається за допомогою точки-роздільника. Наприклад, на робочу книгу з назвою Книга 1.xls в можна послатися наступним чином: 
  Application.Workbooks ("Кніга1.xls") Це ссипка на робочу книгу Кніга1.xls в колекції Workbooks. Колекція Workbooks знаходиться в об'єкті Application. Переходячи на наступний рівень, ви можете послатися на лист Лист1 в книзі Книга 1. xls: 
  Application.Workbooks ("Книга 1. Xls "). Worksheets ("Лист1") Перейдіть на один рівень нижче, після чого необхідно послатися на окрему клітинку: 
  При опущеною посиланням на об'єкт Excel за замовчуванням використовуються активні об'єкти. Якщо книга Лист1 - активна робоча книга, то попереднє посилання можна спростити: 
  Worksheets ("Лист1"). Range ("Al") Якщо ви знаєте, що лист Лист 1 - активний, то посилання можна спростити ще більше: 
  Range ("Al") <В  
  Об'єкти мають властивості.  
  Властивість можна вважати параметром та налаштуванням об'єкта. Наприклад, об'єкт діапазону має такі властивості, як Value (Значення) і Name (Ім'я), Об'єкт діаграми має такими властивостями, як Н as Т i 11 е (Заголовок) і Туре (Тип). Ви вправі використовувати VBA, щоб задати властивості об'єктів і їх змінити. 
  Властивості в програмному коді відділяються від назви об'єкта крапкою. Наприклад, ви можете послатися на значення в комірці А1 аркуша Лист1 наступним чином: Worksheets ( "Лист1"). Range ("Al"). Value 
  Робоча книга Excel є об'єктом, але вона також містить інші об'єкти, наприклад, робочі листи, діаграми, модулі VBA і т.д. Більше того, кожен об'єкт в робочій книзі може містити власні об'...