Excel скопировать отфильтрованные строки на другой лист

Копирование только видимых ячеек

​Смотрите также​​ потом нашел тут​ — выделяете диапазон​ данный момент отфильтрованы​ логику панели не​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ IsEmpty(ActiveCell.Value) ‘…находим пустую​ a As Double​anabioss13​ вставка» но точно​ которое мы зададим​ в первой ячейке.​ «Ctrl» + «Shift»​ особенно, если много​(Выделить группу ячеек).​ книгу, щелкните вкладку​ вы можете скопировать​Примечание:​ , и сделал,​ A2:A12—Вставить. В этом​ только ячейки с​ ломать).​

​ ее можно найти​ ячейку ниже ActiveSheet.Paste​ Dim c As​: На примере работает..​ не скажу.​ условным форматированием и​ В нашем примере,​ + кнопку (стрелочку)​ строк.​Выберите опцию​ другого листа или​ только итоговых данных​Мы стараемся как​ чтобы запускалось в​ случае ячейки которые​ данными, пустые ячейки​8) закрыть панель​ в настройках панелей​ Application.CutCopyMode = False​ Integer Dim r​

​ Но файл у​

  1. ​Алексей200485954​ формулой. Смотрите, как​ мы написали число800​ вниз (или кнопку​Первый способ -​

    ​Visible cells only​​ выберите другую книгу​ из структурированных листа.​ можно оперативнее обеспечивать​

  2. ​ каждом файле) кнопки​​ скрыты не изменятся,​​ скрыты.​​ настройки.​​ управления.​ Else ActiveSheet.Paste Application.CutCopyMode​​ As Integer Dim​​ меня намного больше​

    Изображение ленты Excel

  3. ​: Офигеть, все получилось.​​ это сделать, в​​ в ячейку D2​​ вверх, зависит от​​обычный​

  4. ​(Только видимые ячейки)​​ и выделите левую​​Сделайте следующее:​ вас актуальными справочными​

    Команда

  5. ​ сделать пока не​ Но в выделенных​Я пока решаю​​После вышеописанных действий​​А где именно?​ = False End​

    ​ i As Integer​​ и если так​ Огромное спасибо!​ статье «Закрасить ячейку​ столбца D. Немного​ того, где хотим​.​ и нажмите​ верхнюю ячейку области​Выделите ячейки, которые нужно​

    ​ материалами на вашем​​ смог, но горячие​ ячейках останутся формулы,​ это так: снимаю​ кнопка «ВыделитьВидемыеЯчейки» будет​Семен Казменко​ If End If​ Dim EndRow As​ делать, то почему​dgrom​

support.office.com

Как скопировать только видимые ячейки в Excel

​ по условию в​ не по теме,​ выделить ячейки –​Возьмем такую таблицу.​OK​

​ вставки.​ скопировать подробнее, читайте​

Копируем видимые ячейки в Excel

​ языке. Эта страница​ клавиши работают.​ которые заменить на​ фильтр, потом копирую​

Копируем видимые ячейки в Excel

​ там куда вы​: Расскажу только про​ Next i End​

  1. ​ Integer ‘как работает?​​ то вставляет всего​​: Вот что гласит​
  2. ​ Excel формулой».​​ но хочется сказать​​ ниже или выше​​ Таблица будет одна​​.​Примечание:​​ статью выберите ячеек,​​ переведена автоматически, поэтому​Копируем видимые ячейки в Excel
  3. ​ячейки. Как исправить это?​​ значения можно будет​​ весь столбец В​ ее перетащили и​​ Excel-2003. Дома под​​ SubP.S. Мало данных​Копируем видимые ячейки в Excel
  4. ​ _ ‘ Выделям​ 2 первых ячейки.​​ справка.​​Алексей200485954​
  5. ​ здесь. Сочетание клавиш​​ ячейки, в которой​​ для всех примеров.​​Excel выделит видимые ячейки.​​ При копировании значения последовательно​

​ диапазонов, строк и​

Копируем видимые ячейки в Excel

​ ее текст может​Мне надо чтобы​
​ после снятия фильтра.​
​ через специальную вставку​

​ можно будет выполнить​

office-guru.ru

Вставить в видимые строки в Excel.

​ рукой только он.​ — раз! Все​ ​ ячейку с нужным​​anabioss13​В меню ПРАВКА​: Есть большая таблица.​ «Ctrl» + R​ написали число).​Уберем фильтром все цифры​ Теперь нажмите сочетание​ вставляются в строки​ столбцов на листе.​ содержать неточности и​ не копировались ячейки​The_Prist​ с галкой «Пропускать​ все действия из​1) левой кнопкой мыши​ что выше можно​ значением. Далее ОК.​
​: Все. Я разобрался.​​ жмем «перейти». В​​ Выбрал через фильтр​
​ – копирует данные​Теперь, или нажимаем​ 2 из таблицы.​
​Ctrl+C​ и столбцы. Если​Совет:​ грамматические ошибки. Для​ скрытые фильтром.​:​ пустые ячейки», а​ моего предыдущего сообщения.​ по любой панели​ сделат массивом. Но​ ‘Если фильтр уже​ Из за другого​ появившемся окошке жмем​ нужные строки (20​ по строке Excel​ сочетание клавиш «Ctrl»​ В оставшиеся видимые​, чтобы скопировать диапазон.​
​ область вставки содержит​
​ Чтобы отменить выделение ячеек,​ нас важно, чтобы​
Вставить в видимые строки Excel.​Помню раньше, когда​iksrman​ вот есть ли​
​Кстати, если впоследствии​
​ кнопок (например, обычно​ я как-то​ задействован — выделяем​ фильтра не вставлялось​ «выделить». В появившейся​ шт). Когда начинаю​ (в нашем примере​ + G, или​ ячейки поставим цифру​Выберите ячейку​ скрытые строки или​ щелкните любую ячейку​ эта статья была​ то, получалось нормально​: The_Prist,отличная штука! Всем​ возможность копирования, НЕ​
​ Вам будет нужно​ включена панель «Стандартная»).​с массивами не​ любую видимую ячейку.​ как надо. Спасибо,​ менюшке выбираем «только​ делать вставку в​ – строка 2,​ клавишу F5. Выйдет​ 600. В ячейку​A6​​ столбцы, возможно, потребуется​ на листе.​

​ вам полезна. Просим​ копировать, но не​ советую! Давно себе​ снимая фильтр?​ удалить какие-то кнопки​2) в появившемся​ очень. А так​ _ ‘ Далее​ вы мне помогли.​ видимые ячейки». Готово.​ другом документе он​​ копировали число 800​ диалоговое окно «Переход».​​ В2 ставим число​и нажмите​ отобразить их, чтобы​Щелкните​ вас уделить пару​ знаю почему так​ делал себе надстройку​Sanja​ с панелей, то​ контекстном меню список​ — чем мог,​ по ходу a​_Boroda_​[email protected]@​ вставляет все строки,​ из ячейки D2).​ Нажимаем кнопку «Выделить…».​ 600, затем копируем​Ctrl+V​ увидеть все скопированные​Главная​
​ секунд и сообщить,​
​ происходит.​ из этого макроса.​: А просто выделить​ их можно перетаскивать​ панелей экранных кнопок,​ тем помог.​ = InputBox(prompt:=»Введите значение​: Для удобства можно​: Alt+;​ которые попадают в​ Получилось так.​ И, в новом​ его вниз по​, чтобы вставить диапазон.​ данные.​ >​ помогла ли она​Demetry​ Спасибо Вам.​ отфильтрованные значение и​
Как вставить только в видимые стоки Excel.​ в обратном порядке​ в самом низу​Olya1985​ фильтра», _ Title:=»Копирование​ вытащить на панель​а у меня​ диапазон выделенных ячеек.​Третий способ.​ диалоговом окне «Выделение​ столбцу (тянем за​

excel-office.ru

Проблемка с копированием отфильтрованных ячеек

​Результат:​​По умолчанию Excel копирует​Найти и выделить​ вам, с помощью​: Надо выделить нужные​Rulsan​ скопировать их не​ при наличии на​ пункт «настройка». Выбрать​: хорошо. спасибо!​
​ значений», _ Default:=ActiveCell.Value)​ быстрого доступа кнопочку​ эта комбинация клавиш​Скажите пожалуйста как​В новом столбце​

​ группы ячеек» ставим​​ правый нижний угол​Урок подготовлен для Вас​ как видимые, так​
​, а затем выберите​ кнопок внизу страницы.​ ячейки, потом Ctrl-G​: Благодарю, , то​
​ пробовали?​ экране окна «Настройка».​ его.​Семен Казменко​ Selection.AutoFilter Field:=1, Criteria1:=a​ с черными квадратиками​ перестала работать в​ корректно скопировать и​ (в нашем примере​

​ галочку у слов​ ячейки В2). Значения​ командой сайта office-guru.ru​

​ и скрытые ячейки.​​ пункт​ Для удобства также​

​ — Выделить… -Только​​ что нужно, огромное​gling​
​ Например, выбрали кнопку​3) появится окно​: Предложенный Вам вариант​ c = ActiveCell.Column​ (как на рисунке​ обоих версиях после​

​ вставить в другом​​ – столбец Е)​
​ «Только видимые ячейки».​ скопировались только в​Источник: http://www.excel-easy.com/examples/copy-visible-cells-only.html​ Однако можно скопировать​Выделение группы ячеек​ приводим ссылку на​ видимые ячейки. Потом​
​ спасибо. Теперь как​: Копировать можно, вставить​

planetaexcel.ru

Как скопировать ячейки с фильтром (Формулы/Formulas)

​ «Сохранить» (дискетка) и​​ «Настройка», там на​ такой заумный. Все​ EndRow = ActiveSheet.UsedRange.Row​ ниже)​ переустановки винды (7)​ месте несколько отфильтрованных​ выделяем ячейки. Нажимаем​Нажимаем «ОК». Затем вставляем​ видимые ячейки. Точно​Перевел: Антон Андронов​ только видимые ячейки.​

​.​​ оригинал (на английском​ обычным копипастом.​;)

​ бы заставить работать​​ нельзя в отфильтрованный​ перетащили ее отпустив​ вкладке «Команды» два​ это можно сделать​ — 1 +​»Выделить видимые ячейки»​ (хотя раньше часто​

​ строк.​​ клавишу F5. Выйдет​ как обычно.​ также можно вставлять​Автор: Антон Андронов​В этом примере строка​

​Выберите параметр​​ языке) .​Алексей пинчук​ эти макросы во​ диапазон, вставка происходит​ на окне «Настройка».​ списка.​

​ простым копированием. Для​
​ _ ActiveSheet.UsedRange.Rows.Count ‘​Клавишами это Альт​

excelworld.ru

Вставить скопированные строки в Excel с учетом фильтра

​ пользовалась)​​Pankratd​ диалоговое окно «Переход».​Ещё один способ​ и формулы. Мы​Вставить только в видимые​ 2 скрыта:​только видимые ячейки​Если некоторые ячеек, строк​: > На самом​ всех открытых файлах​ даже в те​Olya1985​4) в правом​

​ этого:​​ Находим последнюю строку​ точка_с_запятой​в чем может​: Сталкивался с такой​ Нажимаем кнопку «Выделить…».​ вызвать диалоговое окно​ в ячейке С2​ строки в​Если просто скопировать, а​и нажмите кнопку​ и столбцов на​ деле я применил​ Excel, а не​ строки которые скрыты.​: спасибо! у меня​ списке выбрать категорию​1) Выделить нужный​ _ рабочей области​Olya1985​ быть причина?​ же проблемой, делаю​ И, в новом​ «Выделение группы ячеек».​ пишем такую формулу.​Excel​ затем вставить этот​ОК​ листе не отображается,​ не фильтр к​ только когда открывается​Rulsan​ тоже excel 2003.​ «Правка»​ диапазон.​ For i =​: Подскажите, пожалуйста, можно​anabioss13​ так:​ диалоговом окне «Выделение​ На закладке «Главная»​ =А2*10​числа, формулы, текст​ диапазон, результат получается​.​ у вас есть​ диапазону, а скрыл​ файл с примером​: Да, как сказал,​ а еще можно​5) в левом​2) Нажать кнопку​ 1 To EndRow​ ли в excel​
​: Здравствуйте. Подскажите пожалуйста​Открываю буфер обмена​ группы ячеек», ставим​ в разделе «Редактирование»​

​Получилось так.​​ можно несколькими способами.​

​ следующим:​​Щелкните​ возможность копирования всех​ некоторые строки​ Tips_Macro_CopyPasteInHiddenCells.xls​ , копировать то​
​ этот пункт добавить​ появится список команд​
​ «ВыделитьВидемыеЯчейки».​ If Cells(i, c).Value​
​ 2003 после копирования​ как скопировать последний​ (меню «правка» в​
​ галочку у слов​ нажимаем на кнопку​Отменим фильтр. Получилась такая​ Когда нужно вставить​Чтобы скопировать только видимые​Копировать​

​ ячеек, или только​​Это и есть​P.S. Имеется ввиду,​ можно, я уже​ в меню edit.​ этой категории.​3) Начать копирование​
​ = a Then​

​ столбца с отфильтрованными​​ столбец с данными​ 2003, или лента​ «Только видимые ячейки».​
​ «Найти и выделить».​ таблица.​ числа, формулы, текст​ ячейки, выполните несколько​
​(или нажмите клавиши​ видимые ячейки. По​ ответ на вопрос.​ чтобы прикрутить как-то​ пробовал копировать только​Rulsan​
​6) почти в​ (ну а далее​ Cells(i, c).Select Selection.Copy​ данными сделать так,​
​ и вставить в​ «главная» в 2007).​ Нажимаем «ОК». Теперь,​
​ В появившемся списке​Формула и цифры вставились​ не во все​
​ простых действий:​ CTRL+C).​ умолчанию Excel копирует​ Высота строки (а​
​ в виде кнопок​ видимые ячейки, по​: Привет всем.​ самом конце этого​ обычно).​ Cells(EndRow + 5,​ чтобы при их​ другой файл, чтобы​Копиую отфильтрованный диапазон​
​ не отменяя выделения,​ нажимаем на функцию​

​ только в отфильтрованные​ строки таблицы, можно​Выделите диапазон​Выделите левую верхнюю ячейку​ скрытых или отфильтрованных​ скрытие строки —​ в ленту или​
​ всякому, но вставляет​Посоветуйте, пожалуйста, есть​ (см.п.5) списка кнопка​Вопрос в другом.​ c).Activate ‘ Активируем​ вставке в отедельный​ скопировалось только то​ в буфер, при​ в первой ячейке​ «Выделение группы ячеек».​ строки.​ воспользоваться фильтром. Как​

​A1:A4​​ области вставки и​ ячейки не только​ просто установка её​ горячих клавиш, чтобы​ то оно подряд,​

CyberForum.ru

Копирование отфильтрованного диапазона данных

​ ли возможность в​​ «ВыделитьВидемыеЯчейки»​
​ Где найти кнопку​ последнюю строку _​ столбец они вставлялись​ что видимо. А​ копировании дапзон выделяется​ столбца (у нас​ Чтобы​Второй способ.​ установить фильтр и​.​ нажмите кнопку​ видимые ячейки. Если​ высоты в 0)​
​ всегда была возможность​ а не в​ Excel или надстройке​7) на нее​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ плюс 5 строк.​ с учетом фильтра,​ то когда копируешь​ бегущими муравьями. Снимаю​ – Е2) вводим​

​заполнить видимые ячейки в​​Также отфильтруем данные.​ как фильтровать в​На вкладке​Вставить​

​ это не является​​ будет копироваться, только​ такого копирования-вставки.​ отфильтрованные.​ PLEX копирования данных​ нужно нажать левой​

​ ее можно найти​​ If Not IsEmpty(Cells(EndRow​ то есть тольке​ как обычно оно​ этих муравьев «Esc»​ формулу, цифру, т.д.​ выделенных столбцах Excel​ В первой ячейке​ Excel, смотрите в​Home​

​(или нажмите клавиши​​ вас не устраивают,​ если копируется вся​P.S.S. Ни разу​gling​ из отфильрованного диапазона​ клавишей мыши, перетащить​ в настройках панелей​ + 5, c).Value)​ те данные которые​ вставляется со значениями​ и вставляю фрагмент​ Нажимаем сочетание клавиш​, нажимаем сочетание клавиш​

​ пишем число, формулу,​​ статье «Фильтр в​

​(Главная) нажмите кнопку​​ Ctrl + V).​ выполните действия, описанные​ строка. То есть​ не делал, но​: Можно такой вариант​

​ из столбца В​​ и отпустить на​ управления.​ Then ‘ если​ видны нам и​ которые скрыты внутри..​ из буфера. Вставляется​ «Ctrl» + «Enter».​ «Ctrl» + D.​ текст, т.д. Теперь,​ Excel». Но, чтобы​
​Find & Select​Совет:​ в этой статье,​ надо выделить не​ прочитал пост выше,​ использовать: Написать формулу​ в столбец А?​
​ любой панели кнопок​Olya1985​ строка не пустая,​ не hidden.​TimSha​ все как надо,​В Excel ячейки​ И все выделенные​ если строк тысячи,​ вставить данные только​(Найти и выделить)​ Чтобы скопировать выделенный фрагмент​

planetaexcel.ru

Excel: Когда копирую отфильтрованные ячейки и вставляю их на другой лист, то вставляются также и скрытые фильтром ячейки

​ чтобы скопировать только​
​ конкретные ячейки, а​ что можно сделать​ в А2 =B2;​
​ В столбце В​ (лучше где-то в​: Вопрос в другом.​ тогда… Do ActiveCell.Offset(1,​Igor_Tr​

​: Только видимое и​​ без скрытых строк.​ можно выделить цветом​ столбцы заполнятся данными​ то выделяем ячейки​ в видимые ячейки,​

​ и кликните по​​ на другой лист​ видимые ячейки. Например​ строки полностью.​ в виде надстройки,​ копируете ячейку A2​
​ на картинке на​ конце панели, чтоб​ Где найти кнопку​ 0).Select Loop Until​: Sub Копировать_Отфильтрованное() Dim​ выделяем (см .скрин)…​Как вариант «Специальная​ по поределенному условию,​ или формулой, как​ так: нажимаем клавиши​ нужны свои способы,​Go To Special​

​ или в другую​

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

Сделайте следующее:

  1. Выберем ячейки, которые нужно скопировать. Дополнительные сведения см. в статье Выбор ячеек, диапазонов, строк или столбцов на сайте.

    Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на этом же.

  2. Щелкните Главная > Найти и выделить, а затем выберите пункт Выделение группы ячеек.

    Excel  Ribbon Image

  3. Выберите параметр только видимые ячейки и нажмите кнопку ОК.

  4. Щелкните Копировать (или нажмите клавиши CTRL+C).

    Команда "Копировать"

  5. Выберите левую верхнюю ячейку области вжатия и нажмите кнопку Вировать (или нажмите CTRL+V).

    Совет: Чтобы скопировать выделенный фрагмент на другой лист или в другую книгу, щелкните вкладку другого листа или выберите другую книгу и выделите левую верхнюю ячейку области вставки.

Примечание: При копировании значения последовательно вставляются в строки и столбцы. Если область вставки содержит скрытые строки или столбцы, возможно, потребуется отобразить их, чтобы увидеть все скопированные данные.

При копировании и вставке видимых ячеек в диапазоне данных, который содержит скрытые ячейки или к которому применен фильтр, можно заметить, что скрытые ячейки вставляются вместе с видимыми. К сожалению, это нельзя изменить при копировании и вклеии диапазона ячеек в Excel в Интернете так как возможность в виде вметки только видимых ячеек недоступна.

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

Если не нужно форматировать данные как таблицу и установлено классическое приложение Excel, можно открыть книгу в нем, чтобы скопировать и вставить видимые ячейки. Для этого нажмите кнопку Открыть в Excel и выполните действия, которые можно сделать в окте Копирование и вкопка только видимых ячеек.

Skip to content

На чтение 2 мин. Просмотров 5.1k.

Что делает макрос: Часто, когда вы работаете с набором отфильтрованных данных, вы хотите скопировать отфильтрованные строки в новую книгу. Конечно, вы можете вручную скопировать эти строки, просто открыть новую книгу и вставить строки, а затем отформатировать вновь вставленные данные так, чтобы все столбцы подходили. Но если вы делаете это достаточно часто, вы можете использовать макрос, чтобы ускорить процесс.

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как этот код работает
  4. Как использовать

Как макрос работает

Этот макрос захватывает диапазон AutoFilter, открывает новую книгу, а затем вставляет данные.

Код макроса

Sub SkopirovatOtfiltrovannieStroki()
'Шаг 1: Проверить, есть ли на листе фильтр
If ActiveSheet.AutoFilterMode = False Then
Exit Sub
End If
'Шаг 2: Скопируйте отфильтрованный диапазон для новой книги 
ActiveSheet.AutoFilter.Range.Copy
Workbooks.Add.Worksheets(1).Paste
'Шаг 3: Столбцы приводим в соответствие по размеру
Cells.EntireColumn.AutoFit
End Sub

Как этот код работает

  1. Шаг 1 использует свойство AutoFilterMode, чтобы проверить есть ли на листе автофильтры. Если нет, то мы выходим из процедуры.
  2. Каждый объект AutoFilter имеет свойство Range. Это свойство Range возвращает строки, к которым применяется Автофильтр, то есть он возвращает только те строки, которые отображаются в отфильтрованном наборе данных. На шаге 2 мы используем метод копирования, чтобы захватить эти строки, а затем вставить строки в новую книгу. Обратите внимание, что мы используем Workbooks.Add.Worksheets, это говорит Excel вставить данные в первый лист вновь созданной книги.
  3. Шаг 3 говорит Excel, чтобы размер столбцов соответствовал данным, которые мы только что вставили.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

  • Советы по Excel
  • Функции Excel
  • Формулы Excel
  • Excel Диаграммы
  • Советы по словам
  • Советы по Outlook

Как сохранить отфильтрованные данные на новый лист / книгу в Excel?

При копировании отфильтрованного диапазона в Excel по умолчанию копируются только видимые ячейки, а затем мы можем вручную вставить его в новый рабочий лист. Однако высота строки и ширина столбца не зарезервированы. Следовательно, как сохранить отфильтрованные данные на новый лист или книгу и одновременно сохранить высоту строки и ширину столбца в Excel? Здесь мы познакомим вас с парой методов.

  • Сохраняйте отфильтрованные данные на новый лист с функциями копирования и вставки
  • Сохраняйте отфильтрованные данные на новый лист с помощью функции копирования и перемещения

Сохраняйте отфильтрованные данные на новый лист с функциями копирования и вставки

Обычно мы можем применить Копировать функции и Вставить функция для сохранения отфильтрованных данных напрямую в новый рабочий лист или книгу. Вы можете сделать следующее:
1. Создайте новый рабочий лист, щелкнув значок Добавить кнопка  or  на панели вкладок листа.

Ноты:
(1) Нажатие Shift + F11 одновременно с клавишами можно также создать новый рабочий лист.
(2) Если вы собираетесь сохранить отфильтрованные данные в новую книгу, просто нажмите Ctrl + N клавиши одновременно, чтобы создать новую книгу.

2. Выберите отфильтрованные данные и скопируйте их, нажав Ctrl + C одновременно.

3. Перейдите к новому листу или книге, выберите пустую ячейку и нажмите Ctrl + V одновременно клавиши, чтобы вставить отфильтрованные данные.

Затем вы увидите, что только отфильтрованные данные копируются и вставляются в новый рабочий лист / книгу. Однако высота строки и ширина столбца теряются. См. Снимки экрана ниже:
документ сохранить отфильтрованные данные новый лист 02

Простое разделение диапазона на основе критериев в столбце и сохранение разделенных диапазонов на новых новых листах

Kutools for ExcelАвтора Разделить данные Утилита может помочь пользователям Excel легко разделить диапазон на несколько листов на основе критериев в одном столбце исходного диапазона.

данные рекламного разделения 0

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

Сохраняйте отфильтрованные данные на новый лист с помощью функции копирования и перемещения

Если отфильтрованные данные слишком велики, чтобы их можно было легко выбрать и скопировать, и вы настроили ширину столбцов и высоту строк для многих столбцов и строк, копирование и вставка может быть не лучшим решением. В этих условиях следует попробовать Kutools for Excel’s Удалить скрытые (видимые) строки и столбцы утилита.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

1. Щелкните правой кнопкой мыши имя листа, который содержит отфильтрованные данные, на панели вкладок листа и выберите Переместить или скопировать из контекстного меню.
Скопируйте лист с отфильтрованными данными на новый лист

Шаг 2. Во всплывающем диалоговом окне «Перемещение или копирование» укажите книгу в Переместить выбранные листы в книгу раскрывающийся список, проверьте Создать копию и нажмите OK кнопку.

Внимание: Чтобы сохранить отфильтрованные данные на новом листе, выберите имя текущей книги в Переместить выбранные листы в книгу раскрывающийся список; чтобы сохранить отфильтрованные данные в новую книгу, выберите (новая книга).
скопировать лист с отфильтрованными данными в новую книгу или существующую книгу

3. Теперь вы попадете в новый рабочий лист / книгу, нажмите Кутулс > Удалить > Удалить скрытые (видимые) строки и столбцы, а затем в открывшемся диалоговом окне

(1) Выберите В активном листе в Заглянуть раскрывающийся список;
(2) Проверить Ряды вариант в Удалить тип раздел;
(3) Проверить Скрытые строки вариант в Подробный тип раздел;
(4) Щелкните значок Ok кнопку.
документ сохранить отфильтрованные данные новый лист 01

Если существует слишком много скрытых строк, на удаление всех скрытых строк потребуется несколько минут. Когда удаление завершится, появится диалоговое окно с сообщением, сколько скрытых строк было удалено, просто нажмите Ok чтобы закрыть его.
Диалог напоминает общее количество удаленных строк

Теперь вы увидите, что все отфильтрованные данные зарезервированы на новом листе, а все форматирование ячеек, включая высоту строк и ширину столбцов, сохраняется.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Демонстрация: сохранение отфильтрованных данных на новый лист в Excel


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


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

Подписывайтесь на Нас

Copyright © 2009 —

www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта

Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.

Защищено Sectigo SSL

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Добрый день!

Увы долгие скитания по форуму и отсутствие понимания кодов вынудило меня все же создать новую тему, т.к. много похожих тем но именно такой не нашел.
В общем ситуация следующая. Нужно что бы при изменении значений в листе «Ввод» в лист «Вывод» копировались полностью строки только те в которых имеется совпадение в столбце T:T с значениями фильтра в столбце A:A листа «Значения фильтра». В приложении краткий файл для понимания.

Для чего это нужно. Имеется база данных более 500 тыс. строк с регулярным обновлением, из которой нужно дублировать строки на другой лист только по одному критерию отбора. Единственная проблема в том что диапазон значений составляет 16 тысяч значений(В примере только 2) и фильтровать в ручную большая проблема. Если сможете помочь, буду крайне признателен.

Прикрепленные файлы

  • Пример.xlsx (11.93 КБ)

Изменено: Vartan07.01.2016 13:07:21

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#2

07.01.2016 12:34:20

Цитата
Vartan написал: совпадение в столбце S:S

Ничего не перепутали?

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Спасибо за поправку, действительно перепутал по столбцу T:T :)

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

По кнопке устроит или нужно автоматом?  

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Нужно автоматом при обновлении данных в вкладке «Ввод».

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

См. вариант. Событием для срабатывания макроса будет являться активация листа «Вывод».

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Забыл в коде добавить отключение обновление экрана: на больших объёмах ускорит работу макроса. Справитесь сами? )

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Начал фильтровать по 16и тысячам строк значений и все повисло))) Боюсь сам я ничего пока не могу сделать, нужна будет все же помощь в решении этого.
Не успел правда посмотреть чистит ли он страницу до обновления или нет?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#10

07.01.2016 14:23:30

Цитата
Vartan написал:
Не успел правда посмотреть чистит ли он страницу до обновления или нет?

Сначала весь диапазон (кроме заголовка) очищается, затем заполняется новым данными.
Почему повисло — не знаю. 16 000 — это количество значений для выборки?

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

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

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Можно изменить алгоритм: внешний цикл по большому диапазону (будет однократный перебор), а вложенный цикл по массиву данных из столбца А первого листа.
Можно вообще сделать всё на массивах, но не знаю — хватит ли памяти: 500 000 строк и 50 столбцов.

 

SuperCat

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#13

07.01.2016 14:29:42

А так?

Код
Sub DoFilter()
    With Sheets("Значения фильтра")
        Sheets("ввод").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Range("A1").End(xlDown), Sheets("Вывод").Range("A1")
    End With
End Sub

There is no knowledge that is not power

 

SuperCat

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#14

07.01.2016 14:35:38

Сорри, немного ошибся :)

Код
Sub DoFilter()
    With Sheets("Значения фильтра")
        Sheets("ввод").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Range("A1", .Range("A1").End(xlDown)), Sheets("Вывод").Range("A1")
    End With
End Sub

There is no knowledge that is not power

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

В общем думал выйдет быстрее, но вышло наоборот комп завис наглухо с макросом %)

Изменено: Vartan07.01.2016 17:14:12

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

#16

07.01.2016 17:13:22

Цитата
Юрий М написал:
Можно изменить алгоритм: внешний цикл по большому диапазону (будет однократный перебор), а вложенный цикл по массиву данных из столбца А первого листа.
Можно вообще сделать всё на массивах, но не знаю — хватит ли памяти: 500 000 строк и 50 столбцов.

Задача на самом деле стояла ускорить процесс т.к. по примитивным формулам Excel считает сутки подобный массив, но вам виднее что в этой ситуации было бы наиболее эффективно. После интеграции в нужный файл код выглядит следующим образом:

Код
Private Sub Worksheet_Activate()
Dim LastRow As Long, FreeRow As Long, i As Long, j As Long, Arr()
    LastRow = Cells(Rows.Count, 14).End(xlUp).Row
    Range(Cells(4, 14), Cells(LastRow + 1, 55)).ClearContents
    FreeRow = 2
    With Sheets("Вводные")
        LastRow = .Cells(Rows.Count, 14).End(xlUp).Row
        Arr = .Range(.Cells(4, 14), .Cells(LastRow, 14)).Value
    End With
    With Sheets("С начала месяца по вчер.день")
        LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 1 To UBound(Arr)
            For j = 2 To LastRow
                If .Cells(j, 19) = Arr(i, 1) Then
                    Range(Cells(FreeRow, 1), Cells(FreeRow, 55)).Value = .Range(.Cells(j, 1), .Cells(j, 55)).Value
                    FreeRow = FreeRow + 1
                End If
            Next
Код
Sub DoFilter()
    With Sheets("Значения фильтра")
        Sheets("ввод").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Range("A1", .Range("A1").End(xlDown)), Sheets("Вывод").Range("A1")
    End With
End Sub

Прошу прощения, а можно расшифровать что это за скрипт?

Изменено: Vartan07.01.2016 17:14:42

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Макрос от СуперКота — это расширенный фильтр с копированием результата на другой лист.
Мой макрос — перебор строк циклом.
У СуперКота должно быть гораздо быстрее, но вот только не знаю, как фильтр будет вести себя с 500 000 строк.

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Действительно, у Супер Кота все работает гораздо быстрее даже с большого массива, но только он переносит на страницу «Вывод» только значения столбца по которому идет выборка, а нужно что бы копировалась вся строка где имеется значение совпадающее с тем что в «Значениях фильтра». Как в таком случае будет правильно?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#19

07.01.2016 17:55:38

Цитата
[QUOTE]Vartan написал: у Супер Кота все работает гораздо быстрее даже с большого массива
Цитата
[USER]Vartan написал: В общем думал выйдет быстрее, но вышло наоборот комп завис наглухо с макросом

Где истина? ))

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

#20

07.01.2016 18:11:11

У меня уже когнитивный диссонанс случился))) Целый день убил на поиск и попытку что-то написать) в итоге меня Excel шлет куда подальше)

По первому(Вашему) коду все делает правильно, но слишком долго. По второму(Супер кота) все делает быстро, но у меня выходит что он тупо копирует все с одного листа на другой без выборки. В общем вышло у меня вот так, но осталось только научить это все активироваться по нажатию на кнопку, чистить перед применением и самое главное копировать выборочно а не все подряд))

Код
Sub DoFilter()
    With Sheets("Вводные")
        Sheets("С начала месяца по вчер.день").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Range("A1", .Range("A1").End(xlDown)), Sheets("Лист1").Range("A1")
    End With
End Sub

Немного поясню:
Список значений для фильтра находится на странице «Вводные» в диапазоне с N3:N16209
Динамическая база в вкладке «С начала месяца по вчер.день» так же как и в примере вкладка «Ввод»
А копировать нужно в «Лист1», в примере это «Вывод»

Прикрепил бы файл, да только он тяжелый слишком.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#21

07.01.2016 18:14:12

Цитата
Vartan написал: По первому(Вашему) коду все делает правильно, но слишком долго.

Попробуйте второй вариант (см. файл), о котором я говорил. Но на больших объёмах и должно быть не быстро. Но в любом случае быстрее, чем вручную ))
P.S. Код прокомментировал.

Прикрепленные файлы

  • Выборка по фильтрам 02.xlsm (21.9 КБ)

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#22

07.01.2016 18:17:44

Доброе время суток

Цитата
Vartan написал: Действительно, у Супер Кота все работает гораздо быстрее даже с большого массива

Быстрее то оно быстрее. У меня на тестовом массиве 25 числовых столбцов, 25 текстовых, 500000 строк, Excel 2010 32bit макрос с .AdvancedFilter копировал около 7 минут.
Скрипт на Power Query отфильтровал за 29 секунд :) . Думаю, вариант на SQL запросе будет где-то также работать. Если что завтра выложу вариант.

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Кнопка цитирования не для ответа [МОДЕРАТОР]

Мне такие слова мама не разрешает говорить «SQL»,»Power Query» :D
Пока не понятно, но если сможете помочь адаптировать мою БД, вы будете просто мой кумир, т.к. все расчеты в файле ведутся более 10 минут в среднем, что значительно тормозит работу.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

За какое время отрабатывает мой второй вариант на Ваших данных?

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#25

07.01.2016 18:55:16

Цитата
Vartan написал: Мне такие слова мама не разрешает говорить «SQL»,»Power Query»

Я так подозреваю, что это вы не верно интерпретируете извечные материнские слова «Учись сынок, не то…» ;) .
Вариант на Power Query. Пополняете таблицу на листе «Ввод», данные для фильтрации «Значения фильтра», в обоих случаях не трогая заголовки. На листе «Вывод» вкладка «Дата» — Обновить.
Для справки, Power Query надстройка в Excel 2010 Pro Plus sp1 и 2013, в 2016 — встроена в систему.

Успехов.
P. S. На моих тестовых данных MS Query не смог загрузить исходную таблицу :(
Юрий М. А почему бы не занести данные для фильтра в словарь? Гораздо же быстрее будет вместо в среднем
8000 * 500000 просмотров будет
14 * 500000 просмотров в 753 раза быстрее будет поиск.

Прикрепленные файлы

  • test_bigData.xlsx (32.08 КБ)

Изменено: Андрей VG07.01.2016 19:05:12

 

KL

Пользователь

Сообщений: 2186
Регистрация: 01.01.2013

#26

07.01.2016 20:19:57

А если код от СуперКота изменить вот так? Пардон если что — правил на коленке (уже протестировал :))

На всякий случай:
1. заголовок фильтра должен точно совпадать с заголовком фильтруемого столбца на листе Ввод
2. на листе Вывод, в первой строке должны присутствовать все те заголовки с листа Ввод, которые нужно вывести (порядок и кол-во произвольные)
3. Сразу оговорюсь: синтаксис работы с диапазонами изменил не из выпендрежа, а чтобы удобно было менять — у меня VBA шрифт настроен не на кириллицу. Плюс в конструкции With…End With стало меньше смысла.

Код
Sub DoFilter()
    Dim wsIn As Worksheet, wsOut As Worksheet, wsFilter As Worksheet
    Set wsIn = Worksheets("ввод")
    Set wsOut = Worksheets("Вывод")
    Set wsFilter = Worksheets("Значения фильтра")
  
    wsIn.Range("A1").CurrentRegion.AdvancedFilter _
        Action:=xlFilterCopy, _
        CriteriaRange:=wsFilter.Range(wsFilter.Cells(1, "A"), wsFilter.Cells(wsFilter.Rows.Count, "A").End(xlUp)), _
        CopytoRange:=wsOut.Range(wsOut.Cells(1, "A"), wsOut.Cells(1, wsOut.Columns.Count).End(xlToLeft))
End Sub

Изменено: KL07.01.2016 20:43:57

KL

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Андрей, со словарями не дружу — никак руки не доходят разобраться с ними )
Я изначально хотел вообще всё на массивах сделать, но засомневался: исходный диапазон 500 000 х 50, да ещё и параллельный (для выгрузки) изначально такой же. Вот и не знаю — хватит ли памяти? ) Если хватит, то думаю, что достаточно быстро должно отработать.

 

Vartan

Пользователь

Сообщений: 13
Регистрация: 06.01.2016

Всем огромное спасибо!

Сделал пока по проще по примеру Супер Кота массив обработался за 2 минуты, дальше буду изучать может сделаю что по автоматизированее :)

Юрий, увы макросы 1 и 2 примера вешали комп на глухо, так что пришлось пойти по простейшим путям.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Вас не поймёшь: то долго, а теперь «вешают наглухо» ))
А вариант Кирилла пробовали?  

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#30

08.01.2016 11:40:02

Доброе время суток

Цитата
Юрий М написал:
со словарями не дружу — никак руки не доходят разобраться с ними )

А зря не доходят. У меня вариант на словаре и копированием по Union 1000 строк отработал за 23 секунды. И на стареньком netbook Lenovo U165 — 72 секунды. ;)

Понравилась статья? Поделить с друзьями:
  • Excel скопировать область ячеек
  • Excel скопировать макросом значение ячейки
  • Excel скопировать макрос word
  • Excel скопировать лист с рисунками
  • Excel скопировать каждую третью строку