Об’єкти Microsoft Excel, які дозволяють працювати з інформацією - Трюки та прийоми в Microsoft Excel
трюки • прийоми • рішення
Об'єкти Microsoft Excel, які дозволяють працювати з інформацією
Файл робочої книги Excel представлений в об'єкті Workbook, який має велику кількість властивостей та методів. Довідкова інформація з них є як в електронній довідці з VBA, так і у великій кількості видань на цю тему. Ми не заглиблюватимемося в суто довідкову інформацію і у вступній частині розглянемо лише ті відомості, з якими далі зустрінемося в наведених прикладах.
Так, властивістьWorksheets об'єкта Workbook представляє сімейство всіх робочих аркушів книги. І для звернення до конкретного аркуша книги за допомогою цієї властивості слід просто вказати як параметр номер аркуша, що має такий вигляд:Worksheets(номер аркуша). Як номер листа виступає просто його порядковий номер у книзі Microsoft Excel. Інший варіант полягає у зазначенні як параметр назви листа:Worksheets ("Назва листа"). Однією з найчастіше програмованих подій, що з книгою загалом, є подіяOpen, що відбувається при відкритті робочої книги. Так, якщо ми хочемо, щоб при відкритті книги виконувались певні дії, слід розташувати необхідний програмний фрагмент усередині процедури Workbook_Open . Програмування цієї події буде розглядатися в частині наведених нижче прикладів.
Наступним об'єктом у порядку ієрархії післяWorkbook є об'єктWorksheet, що представляє робочий лист. З різноманіття методів цього об'єкта широко використовуєтьсяActivate, який існує і для сімейства листів Worksheets, про яке ми вже сказали вище. Наприклад, якщо під час роботи на першому аркуші книги Microsoft Excel потрібно активізувати другийаркуш, то синтаксис програмного рядка в процедурі (виконуватися вона може, наприклад, по клацанню на кнопці) має виглядати так:Worksheets(2).Activate. Якщо ж потрібно активізувати лист, званий Інформація про фірми, слід написати в процедурі таку конструкцію:Worksheets("Інформація про фірми").Activate.
Користувачі Microsoft Excel знають, що ця програма пропонує сервіс, пов'язаний із захистом робочих книг і їх аркушів. Так, методProtect (родини Worksheets) забезпечує захист робочого листа від внесення змін до нього. Для програмної установки захисту з паролем (пароль вказується в параметрі Password цього методу) листа з назвою Співробітники можна зробити так:
Worksheets("Співробітники").
Тут і далі символ нижнього підкреслення є інформацією для Microsoft Visual Basic про те, що наступний рядок є продовженням поточного.
Існує і відповідний методUnprotect, що дозволяє зняти захист із листа. Для щойно встановленого захисту метод її зняття: Worksheets("Співробітники").Unprotect Password:="zv2345" . Будь-яка практична робота в Microsoft Excel так чи інакше стосується інформації в осередках. Для роботи з осередками VBA існує об'єктRange (у перекладі — діапазон осередків). Використання цього об'єкта вимагає завдання параметра діапазону осередків, які цікавлять нас. Це може бути один осередок або група осередків. Так, якщо ми напишемо Worksheets(1).Range ("С5").Value = 7, то це означає, що в комірку С5 першого листа ми програмно записуємо число 7. Тут використовується основна властивість об'єктаRange —Value. Буквально воно означаєзначення або вміст осередку (групи осередків). У наступній конструкції в сукупність осередків програмно вводиться однаковий набір букв АБСДЕ: Worksheets (1). Range ("A1: А3"). Value = "АБСДЕ".
Інший спосіб роботи з осередками реалізується за допомогою об'єктаCells, і синтаксис його використання виглядає так:Cells (номер рядка, номер стовпця). Фактично з погляду їх використання об'єкти, що розглядаються, схожі. Наприклад, отримати змінної Z значення осередку D5 можна двома різними способами: Z = Range("D5").Value або Z = Cells(5,4).Value . Як приклад програмної конструкції на цю тему можна навести наступне присвоєння:
Worksheets(2).Range("C5").Value = _ Worksheets(3).Cells(5, 1).Value.