Фильтрация данных и печать |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Skip to content
Как распечатать таблицу Эксель
На чтение 4 мин. Просмотров 1.3k.
Что делает макрос: Сводные таблицы обеспечивают отличный механизм для анализа больших наборов данных в файлы для печати. Вы можете создать отчет сводной таблицы, в комплекте скопления и анализа, и затем поместить поле (например, регион) в фильтр отчета. С фильтром отчета, вы можете выбрать каждый элемент данных один раз, а затем распечатать отчет сводной таблицы.
Макрос в этом разделе показывает, как автоматически перебрать все значения в фильтр отчета и распечатать сводную таблицу для каждого значения фильтра.
Содержание
- Как макрос работает
- Код макроса
- Как этот код работает
- Как использовать
Как макрос работает
В объектной модели Excel, в раскрывающемся списке Фильтр отчета известен как PageField. Для печати сводной таблицы каждого элемента данных в фильтре отчета, мы должны перебрать коллекцию PivotItems объекта PageField. Когда мы делаем цикл, то динамически меняем выбор в фильтре отчета, а затем используем метод ActiveSheet.PrintOut для печати целевого диапазона.
Код макроса
Sub RaschechatatSvodnuyuTablicuDlyaKajdogoZnayaeniyaFiltra() 'Шаг 1: Объявляем переменные Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem 'Шаг 2: Курсор в активной ячейке в сводной таблице On Error Resume Next Set pt = ActiveSheet.PivotTables(ActiveCell.PivotTable.Name) 'Шаг 3: Выход, если активная ячейка не в сводной таблице If pt Is Nothing Then MsgBox "Вы должны поместить курсор в сводную таблицу." Exit Sub End If 'Шаг 4: Выход, если более одного поля страницы If pt.PageFields.Count > 1 Then MsgBox "Слишком много полей фильтра отчетов. Предел 1." Exit Sub End If 'Шаг 5: Начало цикла через поле страницы и его опорные пункты For Each pf In pt.PageFields For Each pi In pf.PivotItems 'Шаг 6: Измените выбор в фильтре отчета pt.PivotFields(pf.Name).CurrentPage = pi.Name 'Шаг 7: Установить область печати и печатать ActiveSheet.PageSetup.PrintArea = pt.TableRange2.Address ActiveSheet.PrintOut Copies:=1 'Шаг 8: Получить элемент поля на следующей странице Next pi Next pf End Sub
Как этот код работает
- Шаг 1 объявляет три переменные: Pt в качестве контейнера для памяти нашей сводной таблицы, Pf как контейнер памяти для наших полей страниц, а Pi провести каждый элемент сводной, как мы делаем цикл через объект PageField.
Активная ячейка должна находиться внутри сводной таблицы для запуска этого макроса.
Предполагаем что, когда курсор находится внутри определенной сводной таблицы, мы хотим выполнить действие макроса. - Шаг 2 устанавливает переменную St к сводной таблице, на которой найдена активная ячейка. Мы делаем это, используя свойство ActiveCell.PivotTable.Name, чтобы получить имя целевого диапазона.
Если активная ячейка не находится внутри сводной таблицы, макрос выдает ошибку.
Именно поэтому мы используем On Error Resume Next Statement. Это говорит Excel продолжить макрос, если есть ошибка. - Шаг 3 проверяет, заполнена ли переменная PT сводной таблицы объекта. Если переменная PT установлена, а активная ячейка была не на сводной таблице, таким образом, сводной таблице не может быть присвоена переменная. Если это так, то пользователь получает уведомление через окно сообщения, а затем мы выходим из процедуры.
- Шаг 4 определяет, есть ли более одного поля фильтра отчета. (Если количество PageFields больше единицы, существует более одного фильтра отчета.) Мы делаем эту проверку по простой причине, чтобы избежать печати отчетов для фильтров, которые просто оказались там.
Без этой проверки, вы можете печатать сотни страниц. Макрос останавливается, если количество полей больше 1.
Вы можете удалить это ограничение. - Шаг 5 запускает два цикла. Внешний говорит Excel перебрать все фильтры отчетов. Внутренний цикл проходит по всем элементам фильтра, который в настоящее время имеет фокус.
- Для каждого элемента, макрос захватывает имя элемента и использует его для изменения выбора отчета фильтра.
- Шаг 7 печатает активный лист, а затем переходит к следующему пункту цикла.
- После того, как мы прошли через все пункты цикла в фильтре отчета, макрос переходит к следующей странице. После того, как все страницы были оценены, макрос заканчивается.
Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
- Выберите Insert➜Module.
- Введите или вставьте код.
Всем доброй ночи
Экспертное сообщество наверняка знает, как скопировать список фильтра ExCell.
Не отфильтрованный диапазон, а именно значения самого фильтра — сам перечень.
Мне нужно загнать в другую программу и в другой ExCell файл все категории, с которыми работаю.
Ума не приложу, как вытащить…
Будьте добры, подскажите, пожалуйста.
Или дайте ссылочку на обсуждение, если такой вопрос уже звучал.
Буду страшно благодарна!
Если я правильно понял, то можно выделить весь фильтруемый столбец (значения, без заголовка), скопировать на отдельный лист и в закладке Данные-Работа с данными, Удалить дубликаты.
А Excel разве не копирует только видимые значения (отфильтрованные)?
runner, если Вы обладаете экстрасенсорными способностями, может объясните,что значат эти слова:
Цитата: Primula от 27.10.2014, 01:34…скопировать список фильтра ExCell.
Не отфильтрованный диапазон, а именно значения самого фильтра — сам перечень…
Цитата: ShAM от 27.10.2014, 11:18
runner, если Вы обладаете экстрасенсорными способностями, может объясните
[/quote]
Вот как смогла — объяснила. Каких еще подобрать слов — не знаю.
Runner понял всё верно. Без экстрасенсорных способностей. Или они у него есть))
Runner, большое спасибо!
Именно то, что было нужно.
Вы спасли мне кучу времени.
Хорошего вам дня!!!
«список фильтра, а не отфильтрованный диапазон» я понял как «нажимаю на кнопочку фильтра (со стрелочкой) и вижу выпадающий список, но фильтровать не хочу, а хочу отдельно этот список»
Цитата: runner от 27.10.2014, 12:48
«список фильтра, а не отфильтрованный диапазон» я понял как «нажимаю на кнопочку фильтра (со стрелочкой) и вижу выпадающий список, но фильтровать не хочу, а хочу отдельно этот список»
Да, Runner, — именно так. Спасибо))
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
список фильтра ExCell
Вы когда-нибудь пытались распечатать все параметры в раскрывающемся списке на листе Excel? В этой статье говорится о печати всех параметров из выпадающего списка в отдельной распечатке в Excel.
Распечатать все параметры в раскрывающемся списке с кодом VBA
Распечатать все параметры в раскрывающемся списке с кодом VBA
Следующий код VBA может помочь вам распечатать все параметры в раскрывающемся списке на листе. Пожалуйста, сделайте следующее.
1. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Вставить > Модули. Затем скопируйте следующий код VBA в окно модуля. Смотрите скриншот:
Код VBA: распечатать все параметры в указанном раскрывающемся списке в отдельной распечатке
Sub Iterate_Through_data_Validation()
Dim xRg As Range
Dim xCell As Range
Dim xRgVList As Range
Set xRg = Worksheets("Sheet1").Range("B8")
Set xRgVList = Evaluate(xRg.Validation.Formula1)
For Each xCell In xRgVList
xRg = xCell.Value
ActiveSheet.PrintOut
Next
End Sub
Note: In the code, Sheet1 is the worksheet name which contains the drop-down list you want to print. And B8 is the cell contains the drop-down list. Please replace them with your needed.
3. Press the F5 key to run the code.
Then all options in the specified drop-down list in a certain worksheet are printed out separately.
Easily print specified pages in current worksheet in Excel:
With the Print Specific Pages utility of Kutools for Excel, you can easily print specified pages in current worksheet such as print all odd pages, all even pages, print just current page, as well as print custom page range as below screenshot shown.
Download and try it now! (30-day free trail)
Related Articles:
- How to auto populate other cells when selecting values in Excel drop down list?
- How to autocomplete when typing in Excel drop down list?
- How to create a drop down list calendar in Excel?
- How to create a searchable drop down list in Excel?
- How to create drop down list with multiple selections or values in Excel?
The Best Office Productivity Tools
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
- Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails…
- Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range…
- Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns… Prevent Duplicate Cells; Compare Ranges…
- Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select…
- Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more…
- Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments…
- Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic…
- Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF…
- More than 300 powerful features. Supports Office / Excel 2007-2021 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
Read More… Free Download… Purchase…
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Read More… Free Download… Purchase…
Comments (15)
No ratings yet. Be the first to rate!
Как скопировать результат поиска в таблице Excel
Нужно искать через фильтр или условное форматирование.
Фильтр
1. Выделяем столбец и жмём «Сортировка и фильтр» → включаем фильтр.
2. Разворачиваем окно фильтра и в поле поиска указываем запрос. Я ищу https:// в столбце URL.
3. Программа выдаёт список результатов поиска, который можно скопировать и использовать для дальнейшей работы.
Форматирование
1. Выделяем столбец и жмём «Условное форматирование» → Правила выделения ячеек → Текст содержит…
2. Указываем запрос. Я ищу https://
3. Программа подсвечивает светло-красным цветом нужный результат, который можно скопировать.
Как скопировать список из фильтра в эксель
Откройте оба файла в одном процессе, через команду Открыть.
Если не поможет, прикладывайте файл и подробно описывайте Ваши действия
Откройте оба файла в одном процессе, через команду Открыть.
Если не поможет, прикладывайте файл и подробно описывайте Ваши действия Pelena
Сообщение Откройте оба файла в одном процессе, через команду Открыть.
Если не поможет, прикладывайте файл и подробно описывайте Ваши действия Автор — Pelena
Дата добавления — 01.09.2014 в 16:32
Переместить фильтр
Команда копирует фильтр из одной таблицы и переносит его на любую другую таблицу, сохраняя все условия фильтрации. Для чего это может быть нужно? Предположим, имеется таблица:
В ней отфильтрованы данные по трем столбцам: Контрагент, Отсрочка платежа дни, Штрафы за просрочку оплаты. При этом из более чем 80-ти контрагентов отобрано фильтром только 25 необходимых, для отсрочки платежа установлено условие не показывать строки с просрочкой 25 дней и менее, а для штрафов — не показывать строки с суммами меньше или равные 1000р.
Ситуация1: точно такие же условия надо применить к такой же таблице, но за другие периоды. Вручную придется в другой таблице заново выбирать всех контрагентов и проставлять условия на другие столбцы.
Ситуация2: в таблицу необходимо добавить еще один столбец — Условия предоставления кредитного лимита. И поверх прежних условий фильтрации применить фильтр еще и по новому столбцу. Вручную придется сначала полностью убрать фильтр с листа, добавить столбец, установить фильтр заново и прописать все условия. Никак по-другому не получится(если только речь не об умной таблице — Вставка -Таблица).
С помощью команды Переместить фильтр обе ситуации становятся решаемыми очень просто. Все, что необходимо — выделить диапазон с нужным фильтром, перейти на вкладку MulTEx -группа Ячейки/Диапазоны —Диапазоны —Переместить фильтр:
Копировать условия фильтра из диапазона: указывается одна ячейка или диапазон ячеек в листе, условия фильтра из которого необходимо скопировать. Даже если таблица выделена не полностью, указана всего одна ячейка или ячейка выходит за границы таблицы — область работы фильтра будет определена автоматически.
И распространить эти условия на диапазон: указывается диапазон ячеек вместе с заголовком, к которому необходимо применить скопированные условия фильтрации.
Если столбцов в новом диапазоне меньше, чем в скопированном фильтре — то в новую таблицу будут перенесены условия первых n столбцов скопированного фильтра, где n — количество столбцов в новой таблице. Если столбцов больше — фильтр будет установлен на все указанные столбцы.
Если условия скопированного фильтра необходимо распространить на умную таблицу(Вставка (Insert) —Таблица (Table) ), то в поле И распространить эти условия на диапазон допускается указать одну любую ячейку внутри этой таблицы. Границы такой таблицы будут определены автоматически.