Объекты VBA

Содержание

Объекты Excel VBA относятся к отдельным «объектам», состоящим из кода и данных. Само приложение Excel является объектом, как и книги, листы, диапазоны ячеек и фигуры. Каждый объект имеет связанные свойства и методы. Объекты также могут содержать другие объекты, и объект коллекций используется для ссылки на группу тех же объектов Excel.

В этом руководстве мы рассмотрим некоторые часто используемые объекты Excel.

Объект приложения

Объект приложения относится ко всему приложению Excel. Объект Application содержит объект книги.

В следующем коде используется свойство WindowState объекта Application, чтобы установить для окна Excel максимально доступный размер:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedКонец подписки

Объект Workbooks

Объект Workbooks относится к коллекции всех открытых в данный момент книг Excel.

Следующий код использует метод Workbooks.Add для создания новой книги и добавления ее в коллекцию:

12345 Sub AddingANewWorkbookToTheWorkbooksCollection ()Рабочие тетради. ДобавитьКонец подписки

Вы можете получить доступ к отдельной книге в коллекции Workbooks по ее порядковому номеру или имени. Таким образом, вы можете обратиться к Рабочей книге под названием ExcelWb, используя Рабочие книги («ExcelWB»).

Объект книги

Объект книги является частью коллекции рабочих книг. Объект книги содержит коллекцию рабочих листов (рабочие листы) и коллекцию листов (рабочие листы, листы диаграмм и макросы). Объект ActiveWorkbook относится к активной книге.

Следующий код использует метод ActiveWorkbook.Save для сохранения текущей активной книги:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveКонец подписки

Листы Объект

Объект листов относится к набору всех рабочих листов, листов диаграмм и макросов в книге. Следующий код использует метод Sheets.Add для добавления нового рабочего листа с именем ExtraSheet после последнего рабочего листа в книге:

123456 Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Тип: = xlWorksheet) .Name = "ExtraSheet".Конец подписки

Обратите внимание на синтаксис метода Sheets.Add:
Таблицы.Добавить (До, После, Считать, Тип) куда:

-Before является необязательным и указывает, что новый лист должен быть добавлен перед существующим листом.

-After не является обязательным и указывает, что новый лист должен быть добавлен после существующего листа.

-Count не является обязательным и указывает количество добавляемых листов.

-Type является необязательным и указывает тип листа. xlWorksheet добавит новый лист, xlChart добавит новый лист диаграммы, а xlExcel4MacroSheet или xlExcel4IntlMacroSheet добавит новый лист макроса. Если пусто, используется xlWorksheet по умолчанию.

Вы можете получить доступ к отдельному листу в коллекции Sheets по его порядковому номеру или имени. Таким образом, вы можете обратиться к рабочему листу под названием SheetOne, используя Sheets («SheetOne»).

Объект рабочих листов

Объект Worksheets относится к коллекции всех рабочих листов в книге. Следующий код использует метод Worksheets.Add для добавления нового рабочего листа:

12345 Sub AddingANewSheet ()Рабочие листы.ДобавитьКонец подписки

Вы можете получить доступ к отдельному листу в коллекции Worksheets по его порядковому номеру или имени. Таким образом, вы можете обратиться к рабочему листу под названием SheetTwo, используя рабочие листы («SheetTwo»).

Объект рабочего листа

Объект рабочего листа является частью коллекции рабочих листов. Объект рабочего листа содержит объект диапазона и другие объекты. Объект ActiveSheet ссылается на активный лист.

Следующий код изменяет ориентацию страницы активного листа на альбомную:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeКонец подписки

Обратите внимание, что объект Sheet содержит объект PageSetup, а его свойство ориентации имеет значение xlLandscape.

Объект диапазона

Объект Range может относиться к отдельной ячейке или набору ячеек на листе. В следующем коде показано, как использовать метод Range.Select для выбора ячеек A1: B1:

12345 Подвыбор ARange ()Диапазон ("A1: B1"). ВыберитеКонец подписки

Объект Shapes

Объект Shapes относится к коллекции всех фигур на листе. Следующий код выберет все фигуры в ActiveSheet:

12345 Sub SelectingAllTheShapes ()ActiveSheet.Shapes.SelectAllКонец подписки

Объект формы

Объект Shape является частью коллекции Shapes. Следующий код создаст форму прямоугольника со скругленными углами, а затем задаст свойство name объекта формы:

123456789 Sub UsingTheShapeObject ()С помощью листов (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Прямоугольник со скругленными углами"Конец сКонец подписки

Объектная модель Excel VBA

Объектная модель VBA в Excel описывает иерархию всех объектов, которые вы можете использовать в Excel. Например, вы можете использовать объект Workbooks для косвенной или прямой ссылки на все другие объекты. В следующем коде показано, как выбрать ячейку A1 с использованием иерархической структуры:

12345 Sub UsingTheHierachicalStructure ()Рабочие книги ("Книга1"). Рабочие листы ("Лист1"). Диапазон ("A1"). ВыберитеКонец подписки

Объявление и назначение объектной переменной

Вы можете объявить и назначить объект переменной с помощью ключевых слов Dim и Set.

Например:

12 Dim ws как рабочий листУстановите ws = ActiveWorkbook.ActiveSheet.

В следующем коде показано, как объявить и назначить объект Range переменной:

12345678910111213141516 Sub AssigningARangeToAVariable ()Dim rngOne как объектУстановите rngOne = Range ("A1: C1")rngOne.Font.Bold = ВерноС rngOne.Font.Bold = True.Font.Name = "Калибри".Font.Size = 9.Font.Color = RGB (35, 78, 125)..Interior.Color = RGB (205, 224, 180)..Borders (xlEdgeBottom) .LineStyle = xlContinuousКонец сКонец подписки

Результат:

Для освоения VBA важно понимать, как работают объекты. Вы можете узнать больше в нашем интерактивном руководстве по VBA.

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

wave wave wave wave wave