Excel vba excel sheet: Объект Sheets (Excel) | Microsoft Learn
Содержание
Объект Sheets (Excel) | Microsoft Learn
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
- Чтение занимает 2 мин
-
Коллекция всех листов в указанной или активной книге.
Коллекция Листов может содержать объекты Chart или Worksheet .
Коллекция Листов полезна при возвращении листов любого типа. Если вам нужно работать с листами только одного типа, см. в разделе объект для этого типа листа.
Пример
Чтобы вернуть коллекцию Листов, используйте свойство Sheets объекта Workbook. В следующем примере печатаются все листы в активной книге.
Sheets.PrintOut
Используйте метод Add для создания нового листа и добавления его в коллекцию. В следующем примере в активную книгу добавляется два листа диаграммы, которые помещались после двух листов в книгу.
Sheets.Add type:=xlChart, count:=2, after:=Sheets(2)
Чтобы вернуть один объект Chart или Worksheet, используйте листы (индекс), где индекс — это имя листа или номер индекса. В следующем примере активируется лист с именем Sheet1.
Sheets("Sheet1").Activate
Используйте листы (массив), чтобы указать несколько листов. В следующем примере листы с именем Sheet4 и Sheet5 перемещаются в начало книги.
Sheets(Array("Sheet4", "Sheet5")).Move before:=Sheets(1)
Методы
- Add
- Add2
- Copy
- удаление;
- FillAcrossSheets
- Move
- PrintOut
- PrintPreview
- Select
Свойства
- Приложение
- Count
- Creator
- HPageBreaks
- Item
- Parent
- Visible
- VPageBreaks
См. также
- Справочник по объектной модели Excel
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Метод Sheets.
Add (Excel) | Microsoft Learn
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
- Чтение занимает 2 мин
-
Создает новый рабочий лист, лист диаграммы или макроса. Новый лист становится активным.
Синтаксис
выражения. Добавление (До, После, Граф, Тип)
выражение: переменная, представляющая объект Sheets.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Before | Необязательный | Variant | Объект, указывающий лист, перед которым добавляется новый лист. |
After | Необязательный | Variant | Объект, указывающий лист, после которого добавляется новый лист. |
Count | Необязательный | Variant | Количество добавляемых листов. Значение по умолчанию — это количество выбранных листов. |
Type | Необязательный | Variant | Определяет тип листа. Может быть одним из следующих констант XlSheetType : xlWorksheet, xlChart, xlExcel4MacroSheet или xlExcel4IntlMacroSheet. Если вставляется лист на основе существующего шаблона, укажите путь к шаблону. Значение по умолчанию — xlWorksheet. |
Возвращаемое значение
Значение Object, представляющее новый рабочий лист, лист диаграммы или макроса.
Если оба параметра, Before и After, отсутствуют, новый лист вставляется перед активным листом.
Пример
В этом примере новый лист вставляется перед последним листом в активной книге.
ActiveWorkbook.Sheets.Add Before:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
В этом примере вставляется новая таблица после последнего таблицы в активной книге, и возвращается ссылка на объект в локальной переменной.
Dim sheet As Worksheet Set sheet = ActiveWorkbook. Sheets.Add(After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count))
Примечание
В 32-разрядной версии Excel 2010 этот метод может создать не более 255 листов за один раз.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Объект
листов (Excel) | Microsoft Узнайте
Редактировать
Твиттер
Фейсбук
Эл. адрес
- Статья
- 2 минуты на чтение
Коллекция всех листов указанной или активной книги.
Коллекция Sheets может содержать Диаграмма или Рабочий лист объектов.
Коллекция Sheets полезна, когда вы хотите вернуть листы любого типа. Если вам нужно работать с листами только одного типа, см. раздел объекта для этого типа листа.
Пример
Используйте свойство Sheets объекта Workbook , чтобы вернуть коллекцию Sheets . В следующем примере печатаются все листы в активной книге.
Листы.Распечатка
Используйте метод Добавить , чтобы создать новый лист и добавить его в коллекцию. В следующем примере в активную книгу добавляются два листа диаграмм, которые размещаются после второго листа в книге.
Sheets.Add type:=xlChart, count:=2, after:=Sheets(2)
Используйте Sheets ( index ), где index — это имя листа или номер индекса, чтобы вернуть один объект Chart или Worksheet . В следующем примере активируется лист с именем Sheet1.
Листы("Лист1").Активировать
Используйте Sheets ( array ), чтобы указать более одного листа. В следующем примере листы с именами Sheet4 и Sheet5 перемещаются в начало книги.
Листы(Массив("Лист4", "Лист5")).Переместить перед:=Листы(1)
Методы
- Добавить
- Добавить2
- Копия
- Удалить
- Заполнить через листы
- Переместить
- Распечатка
- Предварительный просмотр печати
- Выберите
Свойства
- Применение
- Счет
- Создатель
- HPageBreaks
- Товар
- Родительский
- Видимый
- VPageBreaks
См. также
- Справочник по объектной модели Excel
Поддержка и отзывы
У вас есть вопросы или отзывы об Office VBA или этой документации? См. раздел Поддержка и отзывы Office VBA, чтобы узнать, как вы можете получить поддержку и оставить отзыв.
листов VBA — Полное руководство
В этой статье
- листов против. Рабочие листы
- Ссылки на листы
- ActiveSheest
- Наименование листа
- Индекс листа
- Листовый номер Индекс — последний лист в рабочей книге
- Лист «Кодовое название»
- Ссылка на простых в других рабочих учебниках
- Activing verssing rains в других рабочих учебниках
- Активировать лист
- Выберите лист
- Выберите несколько листов
- .
- Worksheet Visible Property
- Показать Worksheet
- Hide Worksheet
- Very Hide Worksheet
- События на уровне рабочего листа
- Событие активации рабочего листа
- Событие изменения рабочего листа
- Памятка по рабочему листу
- Памятка по рабочим листам VBA
Это полное руководство по работе с таблицами Excel в VBA.
В нижней части этого руководства мы создали памятку с общими командами для работы с листами.
листов против. Листы
С помощью VBA можно ссылаться на листы двумя способами. Первый — с объектом Sheets:
Листы ("Лист1"). Активировать
Другой объект с рабочими листами:
Рабочие листы ("Лист1"). Активировать
В 99% случаев эти два объекта идентичны. На самом деле, если вы искали в Интернете примеры кода VBA, вы, вероятно, видели использование обоих объектов. Вот разница:
Коллекция листов содержит рабочие листы и листы диаграмм.
Поэтому используйте Таблицы, если вы хотите включить обычные рабочие листы И листы диаграмм. Используйте Рабочие листы, если вы хотите исключить листы диаграмм. В оставшейся части этого руководства мы будем использовать листы и рабочие листы как синонимы.
Ссылки на листы
Существует несколько различных способов создания ссылок на листы:
- ActiveSheet
- Имя вкладки листа
- Индексный номер листа
- Кодовое наименование листа
ActiveSheet
ActiveSheet — это лист, активный в данный момент. Другими словами, если вы приостановили свой код и посмотрели в Excel, то виден лист. В приведенном ниже примере кода будет отображаться MessageBox с именем ActiveSheet.
MsgBox ActiveSheet.Name
Имя листа
Возможно, вы больше всего знакомы со ссылками на листы по имени вкладки:
Sheets("TabName"). Активировать
Это имя листа, которое видно пользователям Excel. Введите его в объект листов в виде строки текста, заключенной в кавычки.
Индексный номер листа
Индексный номер листа — это позиция листа в книге. 1 — первый лист. 2 — второй лист и т. д.:
листов(1).Активировать
Индексный номер листа — последний лист в книге
Чтобы сослаться на последний лист в рабочей книге, используйте Sheets.Count, чтобы получить последний индексный номер и активировать этот лист:
Sheets(Sheets.Count).Activate
Sheet » Code Name»
Кодовое имя листа — это имя объекта в VBA:
CodeName. Activate
VBA Coding Made Easy
Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Узнать больше!!
Ссылки на листы в других рабочих книгах
Также легко ссылаться на листы в других рабочих книгах. Для этого вам необходимо использовать объект Workbooks:
Workbooks("VBA_Examples.xlsm").Worksheets("Sheet1").Activate
Важно: Рабочая книга должна быть открыта, прежде чем вы сможете ссылаться на ее листы.
Активация и выбор листа
В другой статье мы обсуждаем все об активации и выборе листов. Краткая версия такова:
Когда вы активируете лист, он становится ActiveSheet. Это лист, который вы бы увидели, если бы взглянули на свою программу Excel. Одновременно может быть активирован только один лист.
Активировать лист
Sheets("Sheet1"). Активировать
При выборе листа он также становится ActiveSheet. Однако вы можете выбрать сразу несколько листов. Когда несколько листов выбраны одновременно, «верхним» листом является ActiveSheet. Однако вы можете переключать ActiveSheet на выбранных листах.
Программирование VBA | Генератор кода работает на вас!
Выбрать лист
Листы("Лист1").Выбрать
Выбрать несколько листов
Использовать массив для одновременного выбора нескольких листов:
Рабочие листы(Массив("Лист2", "Лист3")).Выбрать
Переменная рабочего листа
Назначение рабочего листа объектной переменной позволяет ссылаться на рабочий лист по имени его переменной. Это может сэкономить много времени на вводе и сделать ваш код более легким для чтения. Есть также много других причин, по которым вы можете захотеть использовать переменные.
Объявить переменную рабочего листа:
Dim ws as worksheet
Назначить рабочий лист переменной:
Set ws = Sheets("Sheet1")
Теперь вы можете ссылаться на переменную рабочего листа в своем коде:
ws .Activate
Цикл по всем листам в книге
Переменные рабочего листа полезны, когда вы хотите просмотреть все рабочие листы в рабочей книге. Самый простой способ сделать это:
Dim ws as Worksheet
Для каждого ws в рабочих листах
MsgBox ws.name
Следующий ВС
Этот код будет перебирать все рабочие листы в рабочей книге, отображая имя каждого рабочего листа в окне сообщения. Циклический просмотр всех листов в рабочей книге очень полезен при блокировке/разблокировке или скрытии/отображении нескольких листов одновременно.
Защита рабочего листа
AutoMacro | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!
Защита рабочей книги
Защита рабочей книги блокирует рабочую книгу от структурных изменений, таких как добавление, удаление, перемещение или скрытие рабочих листов.
Вы можете включить защиту рабочей книги с помощью VBA:
ActiveWorkbook.Protect Password:="Password"
или отключить защиту рабочей книги:
ActiveWorkbook.UnProtect Password:="Password"
Примечание. Вы также можете защитить / снять защиту без пароля, опуская аргумент Password:
ActiveWorkbook.Protect
Защита рабочего листа
Защита на уровне рабочего листа предотвращает изменение отдельных рабочих листов.
Защитить лист
Листы ("Лист1"). Защитить "Пароль"
Снять защиту листа
Листы ("Лист1"). Снять защиту "Паролем"
пользователю для вставки строк и т. д.) Мы рекомендуем использовать средство записи макросов для записи нужных настроек.
Здесь мы более подробно обсуждаем защиту рабочего листа.
Автомакрос | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!
Worksheet Visible Property
Возможно, вы уже знаете, что рабочие листы могут быть скрыты:
На самом деле существует три параметра видимости рабочего листа: Visible, Hidden и VeryHidden. Любой обычный пользователь Excel может отобразить скрытые листы, щелкнув правой кнопкой мыши в области вкладок рабочего листа (показано выше). Листы VeryHidden можно отобразить только с помощью кода VBA или из редактора VBA. Используйте следующие примеры кода, чтобы скрыть/отобразить рабочие листы:
UNPIDE Worksheet
Рабочие листы («Лист1»). Visible = xlsheetvisible
Hide Worksheet
Worksheets ("Sheet1"). Visible = XLSHEETHIDDEN
ОЧЕНЬ ХОРОДА.
Автомакрос | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!
События уровня рабочего листа
События — это триггеры, которые могут запускать «процедуры событий». Например, вы можете заставить код запускаться каждый раз при изменении любой ячейки на листе или при активации листа.
Процедуры событий рабочего листа должны быть помещены в модуль рабочего листа:
Существует множество событий рабочего листа. Чтобы увидеть полный список, перейдите в модуль рабочего листа, выберите «Рабочий лист» в первом раскрывающемся списке. Затем выберите процедуру события из второго раскрывающегося списка, чтобы вставить ее в модуль.
Событие активации рабочего листа
События активации рабочего листа запускаются каждый раз при открытии рабочего листа.
Частная подпрограмма Worksheet_Activate()
Диапазон("A1").Выбрать
Конец суб
Этот код будет выбирать ячейку A1 (сбрасывая область просмотра в верхний левый угол рабочего листа) каждый раз при открытии рабочего листа.
Событие изменения рабочего листа
События изменения рабочего листа запускаются при каждом изменении значения ячейки на рабочем листе. Прочитайте наш учебник о событиях изменения рабочего листа для получения дополнительной информации.
Памятка по рабочему листу
Ниже вы найдете памятку, содержащую общие примеры кода для работы с листами в VBA
Рабочие листы VBA Памятка
Рабочие листы VBA
Описание | Пример кода |
---|---|
Листы ссылок и активации | |
Имя вкладки | Листы («Ввод»). Активировать |
Кодовое имя VBA | Sheet1.Activate |
Индексная позиция | Листы(1). Активировать |
Выберите лист | |
Выбрать лист | Листы («Ввод»). Выбрать |
Установить для переменной | Dim ws as Worksheet Установить ws = ActiveSheet |
Имя/переименование | ActiveSheet.Name = «NewName» |
Следующий лист | ActiveSheet.Next.Activate |
Цикл по всем листам | Dim ws as Worksheet Для каждого ws в Worksheets |
Цикл по выбранным листам | Dim ws As Worksheet Для каждого ws в ActiveWindow.SelectedSheets |
Получить ActiveSheet | MsgBox ActiveSheet.Name |
Добавить лист | Листы.Добавить |
Добавить лист и имя | Sheets. Add.Name = «NewSheet» |
Добавить лист с именем из ячейки | Sheets.Add.Name = range(«a3»).value |
Добавить лист после другого | Sheets.Add After:=Sheets(«Input») |
Добавить лист после и имя | Sheets.Add(After:=Sheets(«Input»)).Name = «NewSheet» |
Добавить лист перед и имя | Sheets.Add(Before:=Sheets(«Input»)).Name = «NewSheet» |
Добавить лист в конец книги | Sheets.Add After:=Sheets(Sheets.Count) |
Добавить лист в начало книги | Sheets.Add(Before:=Sheets(1)).Name = «FirstSheet» |
Добавить лист к переменной | Dim ws As Worksheet Set ws = Sheets.Add |
Копии рабочих листов | |
Переместить лист в конец книги | Листы(«Лист1»).Переместить после:=Листы(Листы.Количество) |
В новую книгу | Листы («Лист1»). Копия |
Выбранные листы в новую книгу | ActiveWindow.SelectedSheets.Copy |
Перед другим листом | Листы(«Лист1»).Копировать до:=Листы(«Лист2») |
Перед первым листом | Листы(«Лист1»).Копировать до:=Листы(1) |
После последнего листа | Листы(«Лист1»).Копировать после:=Листы(Листы.Количество) |
Копия и имя | Sheets(«Sheet1»).Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = «LastSheet» |
Копировать и назвать из значения ячейки | Листы(«Лист1»).Копировать после:=Листы(Листы.Количество) ActiveSheet.Name = Range(«A1»).Значение |
В другую книгу | Sheets(«Sheet1»).Копировать до:=Workbooks(«Example.xlsm»).Sheets(1) |
Скрыть/показать листы | |
Скрыть лист | Sheets(«Sheet1»).visible = False или Sheets(«Sheet1»). visible = xlSheetHidden |
Показать лист | Sheets(«Sheet1»).Visible = True или Sheets(«Sheet1»).Visible = xlSheetVisible |
Очень скрыть лист | Sheets(Sheet1).Visible = xlSheetVeryHidden |
Удалить или очистить листы | |
Удалить лист | Листы («Лист1»). Удалить |
Удалить лист (обработка ошибок) | При ошибке возобновить следующий Листы(«Лист1»).Удалить При ошибке Перейти к 0 |
Удалить лист (без запроса) | Application.DisplayAlerts = False Sheets(«Sheet1»).Удалить Application.DisplayAlerts = True |
Очистить лист | Листы(«Лист1»).Ячейки.Очистить |
Очистить только содержимое листа | Sheets(«Sheet1»).Cells.ClearContents |
Очистить лист UsedRange | Sheets(«Sheet1»).UsedRange.Clear |
Защита или снятие защиты листов | |
Снять защиту (без пароля) | Листы («Лист1»). |