Подробнее об объекте Workbook и рабочий лист в Excel VBA.

Объект Иерархия

В Excel VBA, объект может содержать другой объект, и этот объект может содержать другой объект и т.д. Другие слова, программирование Excel VBA включает в себя работу с иерархией объектов. Это, вероятно, звучит довольно странно, но мы сделаем это ясно.

Мать всех объектов сама Excel. Мы называем это объект Application. Объект приложения содержит другие объекты. Например, объект Workbook (файл Excel). Это может быть любой книгой вы создали.

Объект Рабочая книга содержит другие объекты, такие как объект рабочего листа. Объект Рабочий лист содержит другие объекты, такие как объект Range.

Создание макросов главе показано, как запустить код, нажав на кнопку команды. Мы использовали следующую строку кода:

Range("A1").Value = "Hello"

но то, что мы на самом деле имел в виду:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Примечание: объекты связаны с точкой. К счастью, мы не должны добавить строчки кода таким образом. Это происходит потому, что мы поместили нашу командную кнопку в ссылке: /vba-excel-files-create-a-macro.xls [Create-A-macro.xlsm], на первом листе. Имейте в виду, что если вы хотите, чтобы изменить положение вещей на разных листах, вы должны включить объект Worksheet. Читать дальше.

Коллекции

Вы, возможно, заметили, что Workbooks и Worksheets оба множественного числа. Это потому, что они являются коллекцией. Коллекция Workbooks содержит все объекты Workbook, которые в данный момент открыты. Коллекция содержит объекты Worksheets все Worksheet в книге.

Worksheet Names

Вы можете обратиться к члену коллекции, например, один объект Worksheet, тремя способами.

  1. Используя имя рабочего листа.

Worksheets("Sales").Range("A1").Value = "Hello"
  1. Используя индексный номер (1 является первым рабочим листом, начиная с левой стороны).

Worksheets(1).Range("A1").Value = "Hello"
  1. Используя Codename.

Sheet1.Range("A1").Value = "Hello"

Чтобы увидеть Кодовый лист, откройте ссылку: / VBA-Create-A-макро # зрительно-Basic-редактора [Visual Basic Editor]. В окне Project Explorer, первое имя является CodeName. Второе имя это имя рабочего листа (продажи).

CodeName

Примечание: CodeName остается тем же, если вы измените имя листа или порядок ваших рабочих листов, так что это самый безопасный способ ссылаться на рабочем листе. Нажмите View, Properties Window для изменения Кодового листа. Существует один недостаток, вы не можете использовать Codename, если вы ссылаетесь на рабочий лист в другой книге.

Свойство и методы

Теперь давайте посмотрим на некоторые свойства и методы сбора Workbooks и Таблицах. Свойства то, что коллекция имеет (они описывают коллекцию), в то время как методы сделать что-то (они выполняют действие с коллекцией).

Поместите ссылка: VBA Create-A-макро-# командной кнопки [Кнопка управления] / на листе и добавьте строки кода:

  1. Метод Add коллекции Workbooks создает новую книгу.

Workbooks.Add

Примечание: метод Add коллекции Таблиц создает новый рабочий лист.

  1. Граф свойство коллекции Таблиц подсчитывает количество рабочих листов в книге.

MsgBox Worksheets.Count

Результат при нажатии на кнопку управления на листе:

Count Property in Excel VBA

Примечание: граф свойство коллекции Workbooks подсчитывает количество активных рабочих книг.