Об'єкти VBA

Зміст

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

У цьому підручнику ми розглянемо деякі широко використовувані об’єкти Excel.

Об'єкт програми

Об'єкт програми відноситься до всієї програми Excel. Об'єкт Application містить об'єкт книги.

Наступний код використовує властивість WindowState об'єкта Application для встановлення вікна Excel на максимальний доступний розмір:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlМаксимізованеEnd Sub

Об’єкт робочих зошитів

Об'єкт Робочі книги відноситься до колекції всіх відкритих наразі книг Excel.

У наведеному нижче коді використовується метод Workbooks.Add для створення нової книги та додавання її до колекції:

12345 Додавання підрозділуANewWorkbookToTheWorkbooksCollection ()Робочі зошити.ДодатиEnd Sub

Ви можете отримати доступ до окремої книги у колекції Робочих книг за її номером або назвою індексу. Таким чином, ви можете звернутися до робочої книги під назвою ExcelWb за допомогою робочих книг ("ExcelWB").

Об’єкт робочої книги

Об'єкт робочої книги є частиною колекції робочих книг. Об’єкт робочої книги містить колекцію аркушів (аркушів) та колекцію аркушів (аркушів, аркушів діаграм та макролистів). Об'єкт ActiveWorkbook відноситься до активної книги.

У цьому коді використовується метод ActiveWorkbook.Save для збереження поточної активної книги:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveEnd Sub

Об'єкт аркушів

Об'єкт "Аркуші" відноситься до колекції всіх аркушів, аркушів діаграми та макролистів у книзі. У наведеному нижче коді використовується метод Sheets.Add для додавання нового аркуша під назвою ExtraSheet після останнього аркуша у книзі:

123456 Додавання доповненняANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Type: = xlWorksheet) .Name = "ExtraSheet"End Sub

Зверніть увагу на синтаксис методу Sheets.Add:
Таблиці. Додати (Раніше, Після, Рахувати, Тип) де:

-Before є необов’язковим і вказує, що новий аркуш слід додати перед існуючим аркушем.

-After є необов’язковим і вказує, що новий аркуш слід додавати після наявного аркуша.

-Count є необов’язковим і вказує кількість аркушів для додавання.

-Type є необов’язковим і визначає тип аркуша. xlWorksheet додасть новий аркуш, xlChart додасть новий аркуш діаграми, а xlExcel4MacroSheet або xlExcel4IntlMacroSheet додасть новий макросхема. Якщо пусто, використовується xlWorksheet за замовчуванням.

Ви можете отримати доступ до окремого аркуша у колекції "Таблиці" за його номером або назвою. Таким чином, ви можете звернутися до робочого аркуша під назвою SheetOne, використовуючи Sheets ("SheetOne").

Об'єкт робочих листів

Об'єкт "Аркуші" відноситься до колекції всіх аркушів у книзі. У цьому коді використовується метод Worksheets.Add для додавання нового аркуша:

12345 Додавання доповненняANewSheet ()Робочі аркуші.ДодатиEnd Sub

Ви можете отримати доступ до окремого аркуша у колекції аркушів за його номером або назвою індексу. Таким чином, ви можете звернутися до робочого аркуша під назвою SheetTwo, використовуючи робочі аркуші ("SheetTwo").

Об’єкт робочого аркуша

Об'єкт аркуша є частиною колекції аркушів. Об’єкт аркуша містить об’єкт діапазону та інші об’єкти. Об'єкт ActiveSheet відноситься до активного аркуша.

Наступний код змінює орієнтацію сторінки активного аркуша на альбомну:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub

Зауважте, що об’єкт Sheet містить об’єкт PageSetup, а його властивість орієнтації встановлена ​​на xlLandscape.

Об'єкт діапазону

Об'єкт "Діапазон" може посилатися на одну клітинку або набір клітинок на аркуші. Наступний код показує, як використовувати метод Range.Select для виділення клітинок A1: B1:

12345 Вибір підрозділуARange ()Діапазон ("A1: B1"). ВиберітьEnd Sub

Об'єкт фігур

Об'єкт Shapes відноситься до колекції всіх фігур на аркуші. Наступний код виділить усі фігури на аркуші ActiveSheet:

12345 ВибравшиAllTheShapes ()ActiveSheet.Shapes.SelectAllEnd Sub

Об'єкт фігури

Об'єкт Shape є частиною колекції Shapes. Наступний код створить округлену форму прямокутника, а потім встановить властивість name об’єкта фігури:

123456789 Додаткове використанняTheShapeObject ()З аркушами (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Закруглений прямокутник"Закінчити зEnd Sub

Об’єктна модель Excel VBA

Модель об’єктів VBA Excel описує ієрархію всіх об’єктів, які можна використовувати в Excel. Наприклад, ви можете використовувати об’єкт Робочі книги для посилання на всі інші об’єкти побічно або безпосередньо. Наступний код показує, як вибрати клітинку A1, використовуючи ієрархічну структуру:

12345 Додаткове використанняHierachicalStructure ()Робочі зошити ("Книга1"). Робочі аркуші ("Аркуш1"). Діапазон ("А1"). ВиберітьEnd Sub

Оголошення та призначення змінної об’єкта

Ви можете оголосити та призначити об’єкт змінній за допомогою ключових слів Dim і Set.

Наприклад:

12 Затемнити ws як робочий аркушВстановіть ws = ActiveWorkbook.ActiveSheet

Наступний код показує, як оголосити та призначити об’єкт Range змінній:

12345678910111213141516 Додаткове призначенняARangeToAVariable ()Dim rngOne As ObjectВстановити rngOne = Діапазон ("A1: C1")rngOne.Font.Bold = ПравдаЗ rngOne.Font.Bold = Правда.Font.Name = "Калібр".Розмір шрифту = 9. Колір шрифту = RGB (35, 78, 125).Внутрішній. Колір = RGB (205, 224, 180).Кордюри (xlEdgeBottom) .LineStyle = xlПереривнийЗакінчити зEnd Sub

Результат такий:

Важливо розуміти, як об’єкти працюють для оволодіння VBA. Ви можете дізнатися більше з нашим Інтерактивним підручником VBA.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave