VBA-Урок 3. Коллекция Sheets

Данная коллекция представляет собой набор листов (Sheets) в книге (Workbooks). Давайте посмотрим, какие действия мы можем делать над листами.

Как посчитать количество листов в книге

Сначала попробуем узнать сколько листов имеет наша книга:

Sub Test()
	MsgBox (Str(Application.Workbooks.Item("Test.xls").Sheets.Count))
End Sub

Данным кодом мы вызвали сообщения на экран (MsgBox), которое отобразило количество листов (Sheets.Count) в книге (Workbooks) " Test.xls".

Под листом понимается не только ячейки, но и диаграммы. Также, как и лист для расчета, диаграмма будет включена в подсчет листов.

Как добавить лист в книгу

В коллекции листов также есть возможность добавлять свои листы, для этого существует метод Add. Этот метод имеет 4 параметра Add (Before, After, Count, Type). Все эти параметры необязательны. Первые два отвечают за место вставки листа. Далее, количество листов, вставляемых Count и тип листа Type . Типы могут быть, например, такие xlWorkSheet для расчетного листа и xlChart для диаграммы. Если местоположение не указывать, то лист будет вставляться относительно текущего листа.

Sub Test()
    Sheets.Add After:=Worksheets("Лист3"), Count:=4
End Sub

Таким образом мы вставили 4 листа (Count: = 4) после листа "Лист3" .

Также можно вставить лист в самый конец книги:

Sub Test()
	Worksheets.Add
	ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
End Sub

Как скрыть лист

Если у Вас есть желание, то некоторые листы можно скрыть. Это бывает полезно, если у Вас есть константы или расчеты, которые Вы не хотите чтобы видели на экране в виде листов. Для этого можно использовать метод Visible. Устанавливая это свойство в TRUE или FALSE вы можете убрать или отобразить необходимый лист.

Sub Test()
	ActiveWorkbook.Sheets("Лист3").Visible = False
End Sub

Статьи по теме:

  • VBA-Урок 2. Отладчик (Debugger)
  • VBA-Урок 4. Работа с диапазонами (Range)