Как сделать активные листы в excel
Если вам необходимо ввести одни и те же данные сразу на несколько листов, то выполните следующие действия (на примере книги с 3 листами):
- Выделите все нужные листы с зажатой клавишей Shift или Ctrl (с Shift выделяем все листы от первого до последнего, а с Ctrl выделяем несмежные листы).
- Обратите внимание, что в заголовке Excel отображается текст: [Группа]. Это означает, что изменения будут проводиться на одновременно на всех выделенных листах.
- Вводим на активном листе необходимые данные (текст, числа, формулы и прочее).
- Посмотрите, на всех выделенных листах — тоже появились введенные данные. Т.е. все действия, произведенные на активном листе повторяются на других выделенных листах.
Важный момент в том, что формулы на других листах будут ссылаться на тот лист, в котором написаны.
Форматирование и настройка печати
Аналогичным способом можно изменять форматирование ячеек и устанавливать настройки печати сразу на несколько выбранных листов.
Таким образом, вы можете задать область печати, ориентацию страницы, масштаб и многое другое и сэкономить при этом время.
10.5 Коллекция Sheets и объект Worksheet, их свойства и методы
Объект Excel.Worksheet, программное создание, обнаружение, удаление листа Excel средствами VBA, свойства, методы и события объекта Excel.Worksheet
В Word ниже объекта Application и Document начинались уже объекты непосредственно для работы с текстом — Selection, Range и т.п. В Excel между объектом рабочей книги и ячейками есть еще один промежуточный объект — объект Worksheet (лист). Объекты Worksheet в книге объединены в коллекцию Sheets.
Чаще всего для ввода данных в Excel (напрямую или из базы данных) нам потребуется в первую очередь определиться с листом, на который пойдет ввод данных — либо просто выбрать его, либо вначале создать, а потом выбрать.
Процесс создания выглядит очень просто:
Dim oExcel As New Excel.Application ‘Запускаем Excel
oExcel.Visible = True ‘Делаем его видимым
Dim oWbk As Excel.Workbook
Set oWbk = oExcel.Workbooks.Add () ‘Создаем новую книгу
Dim oSheet As Excel.Worksheet
Set oSheet = oWbk.Worksheets.Add() ‘ Создаем новый лист
oSheet.Name = "Новый лист" ‘Присваиваем ему имя "Новый лист"
Метод Add() для коллекции Worksheets принимает несколько необязательных параметров, главная задача которых — определить, между какими существующими листами будет вставлен новый лист. Если ничего не указывать, то новый лист будет помещен самым первым.
Часто встречается и другая задача — просто найти нужный лист среди листов книги, например, если мы открыли существующую книгу. Сделать это очень просто, поскольку коллекция Worksheets умеет работать с именами листов. Ниже приведен пример, в котором мы так же запускаем Excel и создаем новую книгу, но при этом находим лист с именем "Лист1" и переименовываем его в "Новый лист":
Dim oExcel As New Excel.Application ‘Запускаем Excel
oExcel.Visible = True ‘Делаем его видимым
Dim oWbk As Excel.Workbook
Set oWbk = oExcel.Workbooks.Add() ‘Создаем новую книгу
Dim oSheet As Excel.Worksheet
Set oSheet = oWbk.Worksheets.Item("Лист 1") ‘ Находим Лист1
oSheet.Name = "Новый лист" ‘Присваиваем ему имя "Новый лист"
Обратите внимание, что в английской версии Excel этот код, скорее всего, не пройдет, поскольку листы там по умолчанию называются "Sheet1", "Sheet2" и т.п. Если вы в вашем коде используете имена листов по умолчанию и при этом вашей программе придется работать на компьютерах с разноязычными версиями Excel, обязательно предусмотрите дополнительные проверки или просто используйте номера листов вместо их имен.
У коллекции Sheets, помимо привычных нам свойств и методов ( Count, Item, Add(), Delete()) и свойств и методов, которые удобнее применять для объекта Worksheet ( Visible(), Copy(), Move(), PrintOut(), PrintPreview(), Select()) — поскольку все равно указывать конкретный лист — есть и один специфический метод FillAcrossSheets() — скопировать объект диапазона Range (варианты: полностью, только содержимое, только оформление) во все листы данной книги.
У объекта Worksheet — множество важных свойств и методов:
- Cells — одно из наиболее часто используемых свойств объекта Worksheet. Работает точно так же, как и рассмотренное выше одноименное свойство объекта Application — за исключением того, что вам больше не нужно ограничиваться только активным листом. Аналогично работают свойства Columns и Rows.
- EnableCalculation — возможность отключить автоматический пересчет значений ячеек в книге.
- EnableSelection — возможность запретить выделять на листе: все, ничего не запрещать, или разрешить выделять только незаблокированные ячейки.
- Next — возможность получить ссылку на следующий лист в книге. Previous — то же самое для предыдущего листа.
- PageSetup — как и в Word, возможность получить объект PageSetup, при помощи которого можно настроить те же параметры, что и через меню Файл ->Параметры страницы.
- свойство Protection позволяет получить объект Protection, при помощи которого можно запретить пользователю вносить изменения в лист Excel. Настройке параметров защиты также служат и другие свойства, названия которых начинаются на Protection.
- QueryTables — исключительно важное свойство. Оно возвращает коллекцию QueryTables — набор объектов QueryTable, которые, в свою очередь, представляют данные, полученные из внешних источников (как правило, из баз данных).
- Range — самое важное свойство объекта Worksheet. Возвращает объект Range (диапазон ячеек), который в объектной модели Excel занимает примерно такое же место, что и одноименный объект в объектной модели Word. Этот объект будет рассматриваться ниже.
- Type — возможность определить тип данного листа. Обычно используются два типа: xlWorksheet (обычный лист) и xlChart (диаграмма).
- UsedRange — возвращает объект Range, представляющий собой прямоугольную область, включающую все непустые ячейки. Удобно для целей копирования или форматирования.
- Visible — возможность спрятать лист с глаз пользователя (например, если он используется для служебных целей).
Некоторые важные методы объекта Worksheet:
- методы Activate() , Calculate(), Copy(), Paste(), Delete(), Move(), Evaluate(), Select(), SaveAs(), PrintOut(), PrintPreview(), Protect(), Unprotect()нам уже знакомы . Отличие заключается только в том, что теперь эти методы могут применяться для выбранного вами листа.
- метод PivotTables() возвращает коллекцию очень интересных объектов PivotTable (сводная таблица), которые будут рассматриваться ниже;
- метод Scenarios() возвращает коллекцию Scenarios, состоящую из объектов Scenario (сценарии). Сценарии — это именованные наборы вводных данных, которые можно использовать для проверки различных сценариев (разные суммы продаж, уровни налогов, расходов и т.п.)
- SetBackgroundPicture() — возможность назначить листу фоновое изображение (естественно, желательно, чтобы оно было полупрозрачное — "водяной знак", иначе на его фоне будет трудно читать текст в ячейках).
- ShowAllData() — показать все скрытые и отфильтрованные данные на листе.
Самое важное событие объекта Worksheet — это, конечно, Change. Существует множество практических задач, когда изменение пользователем значения ячейки должно приводить к изменению значения в ячейке другого листа/рабочей книги Excel или даже в базе данных. Другая ситуация, в которой используется это события — сложная проверка вводимого пользователем значения (например, опять-таки через обращение к базе данных). Эта событийная процедура работает со специальным параметром Target — то есть объектом Range, представляющим изменившуюся ячейку. При помощи свойств и методов объекта Range вы можете получить информацию об изменившемся значении, столбце и строке, в котором произошло изменение и т.п.
У объекта Worksheet есть еще два очень удобных события (их сильно не хватает объекту Document в Word). Это — события BeforeRightClick() и BeforeDoubleClick(). Как понятно из названия, первое событие позволяет перехватывать щелчок правой кнопкой мыши по любому месту в листе, а второе — двойной щелчок мышью. При помощи этих событий вы можете назначить свою реакцию (открытие контекстных меню, выдачу предупреждающих сообщений, переход в другой режим работы и т.п.) на действия пользователя.
Широко известно, что в одной книге (файле) Excel имеются по умолчанию три листа, между которыми можно переключатся. Тем самым возникает возможность создавать в одном файле несколько связанных документов. Но, что делать, если предустановленного количества таких дополнительных вкладок не хватает? Давайте разберемся, как добавить новый элемент в Экселе.
Способы добавления
Как переключатся между листами, знает большинство пользователей. Для этого нужно кликнуть по одному из их наименований, которые расположены над строкой состояния в нижней левой части экрана.
А вот как добавлять листы знает не каждый. Некоторые пользователи даже не в курсе, что существует подобная возможность. Давайте разберемся, как это сделать различными способами.
Способ 1: использования кнопки
Наиболее часто применяемый вариант добавления – это использование кнопки, которая называется «Вставить лист». Это связанно с тем, что данный вариант наиболее интуитивно понятный из всех имеющихся. Расположена кнопка добавления над строкой состояния слева от перечня уже имеющихся в документе элементов.
-
Для добавления листа просто кликаем по указанной выше кнопке.
Способ 2: контекстное меню
Существует возможность вставить новый элемент с помощью контекстного меню.
-
Кликаем правой кнопкой мыши по любому из уже имеющихся в книге листов. В появившемся контекстном меню выбираем пункт «Вставить…».
После этого, новый лист будет добавлен в список уже имеющихся элементов над строкой состояния.
Способ 3: инструмент на ленте
Ещё одна возможность создать новый лист предполагает использование инструментов, которые размещены на ленте.
Находясь во вкладке «Главная» кликаем по пиктограмме в виде перевернутого треугольника около кнопки «Вставить», которая размещена на ленте в блоке инструментов «Ячейки». В появившемся меню выбираем пункт «Вставить лист».
После этих действий вставка элемента будет выполнена.
Способ 4: горячие клавиши
Также для выполнения данной задачи можно применить, так называемые, горячие клавиши. Просто набираем на клавиатуре сочетание клавиш Shift+F11. Новый лист не просто будет добавлен, а ещё и станет активным. То есть, сразу после добавления пользователь автоматически перейдет на него.
Как видим, существует четыре совершенно разных варианта добавления нового листа в книгу Эксель. Каждый пользователь выбирает тот путь, который ему кажется более удобным, так как функциональной разницы между вариантами нет. Конечно, быстрее и удобнее всего использовать для этих целей горячие клавиши, но не каждый человек может удержать комбинацию в голове, а поэтому большинством пользователей применяются интуитивно более понятные способы добавления.
Задаем область печати в Excel
Печатая книги Excel, начинающие пользователи часто сталкиваются с вопросом – Как же задать область печати? Microsoft Excel позволяет задавать область несколькими способами, каждый из них Вам обязательно пригодится. В рамках данного урока мы подробно разберем все эти способы, а также узнаем, как предварительно задать область печати прямо на вкладке Разметка страницы.
Прежде чем напечатать книгу Excel, требуется точно установить, какую информацию выводить на печать. Например, если в Вашей книге содержится много листов, необходимо определить, печатать всю книгу или только активные листы. Часто возникает необходимость распечатать только выделенный фрагмент книги.
Печать активных листов в Excel
Листы считаются активными, когда они выделены.
- Выделите лист, который требуется напечатать. Чтобы напечатать несколько листов, выберите первый лист, затем, удерживая клавишу Ctrl на клавиатуре, добавьте остальные.
- Перейдите к панели Печать.
- Из выпадающего меню Область печати выберите пункт Напечатать активные листы.
- Нажмите кнопку Печать.
Печать всей книги в Excel
- Перейдите к панели Печать.
- Из выпадающего меню Область печати выберите пункт Напечатать всю книгу.
- Нажмите кнопку Печать.
Печать выделенного фрагмента в Excel
В качестве примера выведем на печать фрагмент таблицы Excel, связанный с футбольными матчами, которые пройдут в июле.
- Выделите ячейки, которые необходимо напечатать.
- Перейдите к панели Печать.
- Из выпадающего меню Область печати выберите пункт Напечатать выделенный фрагмент.
- В области предварительного просмотра появится выделенный фрагмент.
- Нажмите кнопку Печать, чтобы распечатать выделенный фрагмент.
Чтобы заранее определиться с областью печати, ее можно предварительно задать. Для этого выделите требуемый диапазон ячеек, перейдите на вкладку Разметка страницы, нажмите на команду Область печати и из выпадающего меню выберите Задать.
Как сделать активный лист в excel
Если в вашей рабочей книге несколько листов, и теперь вы просто хотите показать только активные или выбранные листы и скрыть другие листы, как вы можете быстро справиться с этим, не скрывая их один за другим вручную?
Показать выбранные листы только с помощью Kutools for Excel
Показать активный лист только с VBA
Вот код VBA, который может быстро скрыть все листы, кроме активного.
1. Нажмите Alt + F11 ключи для отображения Microsoft Visual Basic для приложений окно.
2. Затем нажмите Вставить > Модули и вставьте ниже VBA в новый Модули окно.
VBA: показать только активный лист
3. Нажмите Run или нажмите F5 клавиша для выполнения VBA И теперь отображаются только активные листы, остальные скрыты.
Показать выбранные листы только с помощью Kutools for Excel
Если у вас есть Kutools for Excel установлен, вы можете быстро скрыть неактивные листы или невыделенные листы одним щелчком мыши.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
Активизируйте лист или выберите листы, которые хотите показать, затем щелкните Kutools > Показать спрятать > Скрыть невыбранные листы. Смотрите скриншот:
Теперь невыделенные листы скрыты.
Наконечник: Если вы хотите показать все листы, вы можете нажать Kutools > Показать спрятать > Показать все листы. Смотрите скриншот:
VBA ActiveSheet и как активировать или выбрать лист
В этой статье будет обсуждаться объект ActiveSheet в VBA. Также будет обсуждаться, как активировать, выбирать и переходить к рабочим листам (и многое другое). Прочтите наше полное руководство по рабочим листам VBA для получения дополнительной информации о работе с рабочими листами в VBA.
ActiveSheet
В VBA ActiveSheet относится к текущему активному рабочему листу. Одновременно может быть активен только один лист.
Активировать рабочий лист (настройка ActiveSheet)
Чтобы установить ActiveSheet, используйте Worksheet.Activate:
1 | Рабочие листы («Ввод»). Активировать |
Команда «Активировать лист» фактически «перейдет» к листу, изменив видимый лист.
В приведенном выше примере используется имя листа (вкладка). Вместо этого вы можете использовать кодовое имя VBA для рабочего листа:
1 | Sheet1.Activate |
Имя ActiveSheet
Чтобы получить имя ActiveSheet:
1 | msgbox ActiveSheet.name |
Выбранные листы против ActiveSheet
В любой момент времени ActiveSheet может быть только один лист. Однако можно выбрать сразу несколько листов.
Когда выбрано несколько листов, активным считается только самый верхний лист (ActiveSheet).
Выберите рабочий лист
Если вы хотите выбрать лист вместо его активации. Вместо этого используйте .Select.
Выбрать лист по имени вкладки
Это выбирает рабочий лист на основе его имени вкладки листа
1 | Таблицы ("Ввод"). Выбрать |
Выбрать лист по порядковому номеру
Это выбирает рабочий лист на основе его положения относительно других вкладок.
1 | Рабочие листы (1) .Выбрать |
Выберите рабочий лист с кодовым именем VBA
1 | Лист 1.Выбрать |
Выбор листов по имени кода может предотвратить ошибки, вызванные изменением имени листа.
Выбрать текущий лист
Чтобы выбрать текущий рабочий лист, используйте объект ActiveSheet:
1 | ActiveSheet.Select |
Дополнительные примеры активации / выбора листов
Установите ActiveSheet на переменную
Это назначит ActiveSheet переменной объекта рабочего листа.
123 | Dim ws как рабочий листУстановить ws = ActiveSheet |
Изменить имя ActiveSheet
Это изменит имя ActiveSheet.
1 | ActiveSheet.Name = "NewName" |
С ActiveSheet
Использование оператора With позволяет оптимизировать код при работе с объектами (такими как листы или ActiveSheet).
12345 | С ActiveSheet.Name = "StartFresh".Cells.Clear.Range ("A1"). Value = .NameКонец с |
Обратите внимание, что вам не нужно повторять ActiveSheet перед каждой строкой кода. Это может значительно сэкономить время при работе с длинным списком команд.
Перебирать выбранные листы
Следующий макрос будет проходить по всем выбранным листам, отображая их имена.
12345678 | Sub GetSelectedSheetsName ()Dim ws как рабочий листДля каждого ws в ActiveWindow.SelectedSheetsMsgBox ws.NameСледующий wsКонец подписки |
Перейти к следующему листу
Этот код перейдет на следующий лист. Если ActiveSheet является последним листом, он перейдет к первому листу в рабочей книге.