Excel скопировать в фильтре вставить в фильтр

Вставка в отфильтрованные строки

Весьма распространенная ситуация, вопрос про которую мне задают почти на каждом тренинге. Есть таблица, в которой Фильтром (Данные — Фильтр) отобраны несколько строк. Задача — вставить какие-либо нужные нам значения именно в видимые отфильтрованные строки, пропуская при этом скрытые. Обычное копирование-вставка при этом не сработает, т.к. данные вставятся не только в видимые, но и в скрытые ячейки. Давайте посмотрим, как можно обойти эту проблему.

Способ 1. Вставка одинаковых значений или формул

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

paste-to-visible1.png

… и в нем нужно поставить фиксированную скидку в 1000 рублей каждому «Ашану».

Фильтруем наш список Автофильтром, оставляя на экране только «Ашаны». Вводим нужное значение в первую ячейку и протягиваем (копируем за правый нижний угол ячейки) вниз:

paste-to-visible2.png

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

paste-to-visible3.png

Такой способ подойдет и для ввода значений и для ввода формул. Например, если скидка для «Ашанов» не фиксированная, а составляет 10% от суммы сделки, то в первую отфильтрованную строку можно ввести не константу (1000), а формулу (=C2*10%) и также скопировать вниз.

Способ 2. Макрос вставки любых значений

Другое дело, если вам необходимо вставить в отфильтрованные ячейки не одинаковые значения или формулы, а разные, да еще и брать их из другого диапазона. Тогда придется использовать несложный макрос. Нажмите сочетание клавиш Alt+F11, в открывшемся окне Visual Basic вставьте новый пустой модуль через меню Insert — Module и скопируйте туда этот код:

Sub PasteToVisible()
    Dim copyrng As Range, pasterng As Range
    Dim cell As Range, i As Long
 
   'запрашиваем у пользователя по очереди диапазоны копирования и вставки
    Set copyrng = Application.InputBox("Диапазон копирования", "Запрос", Type:=8)
    Set pasterng = Application.InputBox("Диапазон вставки", "Запрос", Type:=8)
 
    'проверяем, чтобы они были одинакового размера
    If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <> copyrng.Cells.Count Then
        MsgBox "Диапазоны копирования и вставки разного размера!",vbCritical
        Exit Sub
    End If
 
    'переносим данные из одного диапазона в другой только в видимые ячейки
    i = 1
    For Each cell In pasterng
        If cell.EntireRow.Hidden = False Then
            cell.Value = copyrng.Cells(i).Value
            i = i + 1
        End If
    Next cell
End Sub

Как легко сообразить, макрос запрашивает у пользователя по очереди два диапазона — копирования и вставки. Затем проверяет, чтобы их размеры совпадали, т.к. разница в размерностях вызовет впоследствии ошибку при вставке. Затем макрос перебирает все ячейки в диапазоне вставки и переносит туда данные из диапазона копирования, если строка видима (т.е. не отфильтрована).

Ссылки по теме

  • Что такое макросы, как их использовать, куда вставлять код макроса на Visual Basic

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

​Смотрите также​: Собственно тема: скрываю​ ​ происходит.​​ по умолчанию, т.е.​RMMMM​ у меня таких​ в чем причина.​ становлюсь в первую​ pasterng = Application.InputBox(«Диапазон​ все отфильтрованные строки​ протягивании все ок)​ — далее добавить​ «Запрос», Type:=8) Set​ же значения во​Главная​ формулу, цифру, т.д.​ написали число).​Вставить только в видимые​ строки (или пользуюсь​Demetry​
​ с копированием выделенных​​: Собственно суть вопроса​​ таблиц для обработки​
​оставил в покое​ ячейку столбца, в​ вставки», «Запрос», Type:=8)​
​ списка, то все​Pelena​ столбец, НО тогда​ pasterng = Application.InputBox(«Диапазон​ все отфильтрованные строки​ >​ Нажимаем сочетание клавиш​Теперь, или нажимаем​ строки в​ фильтром, что чаще).​: Надо выделить нужные​ ячеек проблем нет,​ в названии. Подробнее​ под сотню и​ макрос, начал делать​ который необходимо вставить​ ‘проверяем, чтобы они​ просто. Предположим, что​
​: А у Вас​
​ нарушается последовательность списка​ вставки», «Запрос», Type:=8)​
Вставить в видимые строки Excel.​ списка, то все​Найти и выделить​ «Ctrl» + «Enter».​
​ сочетание клавиш «Ctrl»​
​Excel​ Есть диапазон ячеек​ ячейки, потом Ctrl-G​ скопированное прекрасно вставляется​ на всякий случай:​ в каждой строк​ способом, который описал​ данные, то вставляются​ были одинакового размера​ у нас есть​ не получилось?​ ЗАГОЛОВКИ ПОДПУНКТЫ с​ ‘проверяем, чтобы они​ просто. Предположим, что​, а затем выберите​В Excel ячейки​
​ + G, или​числа, формулы, текст​ я хочу чтобы​ — Выделить… -Только​ через Ctrl-V, но​ Есть таблица, применяю​ под пятьдесят тысяч)​ в начале темы,​ скопированные данные во​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​ вот такой список​​Выкладывайте файл​ текстом описанием и​

​ были одинакового размера​ у нас есть​ пункт​ можно выделить цветом​ клавишу F5. Выйдет​ можно несколькими способами.​ копия вставилась в​ видимые ячейки. Потом​ затирает ячейки внизу​ к ней фильтр,​Юрий М​​ тоже выдает ошибку.​ все ячейки, включая​​ copyrng.Cells.Count Then MsgBox​ сделок:​Гость​ т.п. НУЖНО СОХРАНИТЬ​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​ вот такой список​Выделение группы ячеек​ по поределенному условию,​ диалоговое окно «Переход».​ Когда нужно вставить​ видимые ячейки -​ обычным копипастом.​ (как я описал​ выделяю первую отфильтрованную​: EgorAg, свои сообщения​ на разных компьютерах​ скрытые, если же​ «Диапазоны копирования и​… и в нем нужно поставить​: вот сам файлик​ ЦЕЛОСТНОСТЬ!!!!) ХЕЛП!!!!!!​
​ copyrng.Cells.Count Then MsgBox​
​ сделок:​.​ которое мы зададим​ Нажимаем кнопку «Выделить…».​ числа, формулы, текст​ но вставка происходит​Алексей пинчук​ в первом посте).​ строку, удерживая Shift​ можно редактировать. В​ тоже пробовал уже)​ выделяю весь диапазон​ вставки разного размера!»,vbCritical​ фиксированную скидку в​http://rghost.ru/38132320​Serge_007​ «Диапазоны копирования и​… и в нем нужно поставить​Выберите параметр​ условным форматированием и​
Как вставить только в видимые стоки Excel.​ И, в новом​ не во все​ во все строки​: > На самом​ Не работает именно​ выделяю последнюю отфильтрованную​ том числе, менять​так что, если​ ячеек, в которые​ Exit Sub End​

excel-office.ru

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

​ 1000 рублей каждому​​в лист «все​: В Excel 2007/2010​ вставки разного размера!»,vbCritical​ фиксированную скидку в​только видимые ячейки​ формулой. Смотрите, как​ диалоговом окне «Выделение​ строки таблицы, можно​ подряд, в т.ч.​ деле я применил​ Insert (по правой​ строку, жму Ctrl+C,​ файл. В данном​ кому не сложно,​ хочу вставить эти​ If ‘переносим данные​ «Ашану».​ районы» в столбец​ по умолчанию данные​ Exit Sub End​ 1000 рублей каждому​

​и нажмите кнопку​ это сделать, в​ группы ячеек» ставим​ воспользоваться фильтром. Как​ и скрытые (отфильтрованные).​ не фильтр к​ кнопке мыши нет​ в местах пропущенных​ случае следовало ПОМЕНЯТЬ​ помогите понять в​ данные, то выдает​ из одного диапазона​Фильтруем наш список Автофильтром,​ «Т» вставить значения​ вставляются только в​ If ‘переносим данные​ «Ашану».​ОК​ статье «Закрасить ячейку​ галочку у слов​

​ установить фильтр и​

  1. ​Как быть?​ диапазону, а скрыл​ опции Insert Copied​ строк бегут мураши.​ файл в старом​

    ​ чем ошибаюсь.​​ ошибку: «данная команда​ в другой только​ оставляя на экране​

  2. ​ из листа «ИЗНОС»​​ отфильтрованные строки, что​​ из одного диапазона​​Фильтруем наш список Автофильтром,​​.​ по условию в​​ «Только видимые ячейки».​​ как фильтровать в​

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

  3. ​Владимир​​ некоторые строки​​ Cells). Excel английский.​​ Перехожу на другую​​ сообщении и проинформировать​

  4. ​Z​​ не применима для​​ в видимые ячейки​ только «Ашаны». Вводим​

    Команда

  5. ​ из столбца «N»​ бы вставить во​ в другой только​​ оставляя на экране​​Щелкните​ Excel формулой».​

    ​Нажимаем «ОК». Затем вставляем​​ Excel, смотрите в​: Вы скопируйте отфильтрованные​Это и есть​ Если выделять и​ закладку, жму правую​ об этом. Зачем​: В январе, однако,​ несвязанных диапазонов».​ i = 1​

    ​ нужное значение в​​как то так​ все необходимо воспользоваться​ в видимые ячейки​ только «Ашаны». Вводим​Копировать​Примечание:​ как обычно.​ статье «Фильтр в​ строки и вставьте​

support.office.com

Вставка в отфильтрованные строки

​ ответ на вопрос.​ копировать подряд идущие​ кнопку мыши на​ на форуме хранить​ лишь одна строка…​kuklp​​ For Each cell​​ первую ячейку и​ вот!!!​ спецвставкой и поставить​ i = 1​ нужное значение в​(или нажмите клавиши​Мы стараемся как​Ещё один способ​ Excel». Но, чтобы​ их в другой​ Высота строки (а​ строки, то Insert​ той строке куда​ неправильный файл?​Никаких заморочек нет​

Способ 1. Вставка одинаковых значений или формул

​: Не раз поднималась​ In pasterng If​ протягиваем (копируем за​Pelena​ галку на «Пропускать​ For Each cell​ первую ячейку и​ CTRL+C).​ можно оперативнее обеспечивать​

Excel вставка в отфильтрованные строки

​ вызвать диалоговое окно​ вставить данные только​ лист. Думаю, проблема​ скрытие строки —​

​ работает без проблем.​ нужно вставить скопированные​JayBhagavan​ — с вашими​ тема поиска по​ cell.EntireRow.Hidden = False​ правый нижний угол​: Файл пока не​

Excel вставка в отфильтрованные строки

​ пустые ячейки».​ In pasterng If​ протягиваем (копируем за​Выделите левую верхнюю ячейку​ вас актуальными справочными​ «Выделение группы ячеек».​ в видимые ячейки,​

Excel вставка в отфильтрованные строки

​ исчезнет.​ просто установка её​Решение есть с​ строки — но​: Выделили что копировать​ данными — и​ сайту. Из-за этого​ Then cell.Value =​ ячейки) вниз:​ смотрела, но для​Гость​ cell.EntireRow.Hidden = False​

Способ 2. Макрос вставки любых значений

​ правый нижний угол​ области вставки и​ материалами на вашем​ На закладке «Главная»​ нужны свои способы,​Dyka​ высоты в 0)​ промежуточным копированием нужных​ вместо Insert Copied​ (один столбец ячеек).​​ копируется, и вставляется.​​ модеры тиранят нерадивых​ copyrng.Cells(i).Value i =​Умный Excel в данном​ копировать/вставить этот способ​​: Стоит 2007 …в​​ Then cell.Value =​ ячейки) вниз:​

​ нажмите кнопку​ языке. Эта страница​ в разделе «Редактирование»​ особенно, если много​: Нет, так не​ будет копироваться, только​ строк на пустой​ Cells вижу просто​ По запросу выделили​И давайте уточним:​ гостей за бестолковые​ i + 1​ случае понимает, что​ действительно не пойдет.​ том то и​ copyrng.Cells(i).Value i =​Умный Excel в данном​Вставить​ переведена автоматически, поэтому​ нажимаем на кнопку​ строк.​ пойдет. Задача вставить​ если копируется вся​ лист и последующим​ Insert, который вставляет​ куда копировать (один​ копировать-вставить или же​ названия тем. Я​ End If Next​ вы хотите ввести​Эти две таблицы​ дело что по​ i + 1​

​ случае понимает, что​(или нажмите клавиши​ ее текст может​ «Найти и выделить».​Первый способ -​ данные в существующую​ строка. То есть​ Insert на нужную​ пустую строку. Если​ столбец ячеек). Ок.Скрытый​ вырезать-вставить?​ вот ввел в​ cell End Sub​ значения именно в​ ведь как-то связаны​ умолчанию вставляет значения​ End If Next​

planetaexcel.ru

Таблица Фильтрация ВСТАВКА -СРОЧНО НУЖНА ПОМОЩЬ!!!

​ вы хотите ввести​​ Ctrl + V).​ содержать неточности и​
​ В появившемся списке​обычный​ талицу с отфильтрованными​ надо выделить не​ закладку, но это​
​ сделать Ctrl-V или​ текст Option Explicit​Не пробовали элементарными​ поиск «Вставить значения​Как легко сообразить, макрос​ отфильтрованные ячейки и​ между собой, может​ по порядку во​ cell End Sub​ значения именно в​Совет:​ грамматические ошибки. Для​
​ нажимаем на функцию​.​ строками.​
​ конкретные ячейки, а​ лишний шаг. Есть​ Paste Special, то​ Sub jjj_areas_copy() Dim​ горячими клавишами воспользоваться,​ в отфильтрованные ячейки»​ запрашивает у пользователя​ делает то, что​ формулой попробовать найти​ все скрытые строки​

​Как легко сообразить, макрос​​ отфильтрованные ячейки и​ Чтобы скопировать выделенный фрагмент​ нас важно, чтобы​ «Выделение группы ячеек».​Возьмем такую таблицу.​Dyka​ строки полностью.​ ли прямой путь​ строки вставляются, но​

​ rngSrc As Range​​ да и оформить​ и сразу​ по очереди два​ нужно:​ нужное значение?​ в столбце…а не​ запрашивает у пользователя​ делает то, что​ на другой лист​ эта статья была​ Чтобы​ Таблица будет одна​

​: С макросами плохо​​AleksFin​ с непосредственным Insert​ затирают строки расположенные​

​ Dim rngTrgt As​​ данные таблицей/списком?!​
​EgorAg​ диапазона — копирования​Такой способ подойдет и​

​Tviga​​ в нужные отфильтрованные,​ по очереди два​ нужно:​
​ или в другую​ вам полезна. Просим​заполнить видимые ячейки в​ для всех примеров.​ знаком, но не​: Здравствуйте!​ куда нужно?​ ниже. Явно должно​ Range Dim i​EgorAg​: спасибо за совет.​ и вставки. Затем​ для ввода значений​

​: вобщем так.​​ побывал и спецвставкой​ диапазона — копирования​Такой способ подойдет и​ книгу, щелкните вкладку​

​ вас уделить пару​​ выделенных столбцах Excel​Уберем фильтром все цифры​ подскажете основной ход​Помогите пжл, в​_Boroda_​

​ быть просто, но​​ As Long, j​: извиняюсь, я там​
​видел. не работает.​

​ проверяет, чтобы их​​ и для ввода​
​не совсем понятно​
​ с галкой «Пропускать​ и вставки. Затем​ для ввода значений​ другого листа или​ секунд и сообщить,​
​, нажимаем сочетание клавиш​ 2 из таблицы.​

​ мыслей? Метод Paste​​ таблице есть группированные​: А, да это​ что то туплю.​ As Long If​
​ лишний столбец с​ пробовал уже много​ размеры совпадали, т.к.​ формул. Например, если​ как завязаны между​

​ пустые ячейки». НЕ​​ проверяет, чтобы их​
​ и для ввода​ выберите другую книгу​ помогла ли она​ «Ctrl» + D.​ В оставшиеся видимые​ использовать по 1​ строки с данными,​ скорее всего у​ Помогите пожалуйста.​ TypeName(Selection) = «Range»​ названием «месяц» добавил,​ раз ранее. дает​
​ разница в размерностях​
​ скидка для «Ашанов»​

excelworld.ru

Вставка в отфильтрованные строки

​ собой листы. Нет​ ВЫХОДИТ!!!!​ размеры совпадали, т.к.​ формул. Например, если​ и выделите левую​ вам, с помощью​​ И все выделенные​​ ячейки поставим цифру​ ячейке с провыеркой​ хочу скопировать только​ Вас книги открыты​krosav4ig​ Then Set rngSrc​ где месяца перечислены​ ошибку.​ вызовет впоследствии ошибку​ не фиксированная, а​ никаких одинаковых данных.​Гость​ разница в размерностях​ скидка для «Ашанов»​ верхнюю ячейку области​

Способ 1. Вставка одинаковых значений или формул

​ кнопок внизу страницы.​ столбцы заполнятся данными​ 600. В ячейку​ на скрытость строк?​ итоги по сгруппированным​ в разных Excelях.​: Попробуйте перед копированием​ = Selection.Resize(, 1).SpecialCells(xlCellTypeVisible)​ (сейчас файл подправлен).​

Excel вставка в отфильтрованные строки

​по этой причине​ при вставке. Затем​ составляет 10% от​ Куча повторяющихся значений.​

​: Короче никто не​ вызовет впоследствии ошибку​ не фиксированная, а​ вставки.​ Для удобства также​ или формулой, как​ В2 ставим число​ или как то​

Excel вставка в отфильтрованные строки

​ строкам и вставить​ Попробуйте закрыть вторую​ выделить только видимые​ On Error Resume​ а так я​ и создал тему​ макрос перебирает все​

Excel вставка в отфильтрованные строки

​ суммы сделки, то​ Кодов нет. Из​ знает и никто​ при вставке. Затем​ составляет 10% от​Примечание:​ приводим ссылку на​ в первой ячейке.​ 600, затем копируем​ по другому?​ их рядом, но​ книгу и открыть​

Способ 2. Макрос вставки любых значений

​ ячейки (F5>Alt+ВЫ>enter)​ Next Set rngTrgt​ фильтрую по столбцу​ еще раз. более​ ячейки в диапазоне​ в первую отфильтрованную строку​ того что было​ не поможет?!?!?​ макрос перебирает все​ суммы сделки, то​​ При копировании значения последовательно​​ оригинал (на английском​ В нашем примере,​ его вниз по​TimSha​​ вставить в те​​ ее из первой​RMMMM​

​ = Application.InputBox(«», ,​ «вид затрат», выбираю​ того, даже обращался​ вставки и переносит​ можно ввести не​ предложено могу только​Serge_007​ ячейки в диапазоне​ в первую отфильтрованную строку​ вставляются в строки​ языке) .​ мы написали число800​ столбцу (тянем за​: А в чем​ же ячейке по​ — Файл -​: krosav4ig, по F5​ , , ,​ «себестоимость», и у​ к человеку, который​ туда данные из​ константу (1000), а​ так. Вставить пару​: Я уже ответил.​ вставки и переносит​ можно ввести не​ и столбцы. Если​Если некоторые ячеек, строк​ в ячейку D2​ правый нижний угол​ «изыск» такого подхода?​ строкам с которых​ Открыть​

​ у меня Go​ , , 8).Resize(,​ меня в столбце​ отсылал с этого​ диапазона копирования, если​ формулу (=C2*10%) и также скопировать вниз.​ столбцов. И формулу.​Почему у Вас​ туда данные из​ константу (1000), а​ область вставки содержит​ и столбцов на​ столбца D. Немного​ ячейки В2). Значения​ Может по-другому следует​ и скопировал.​RMMMM​

planetaexcel.ru

Вставить скопированные значения в отфильтрованные ячейки

​ To открывается. Excel​​ 1).SpecialCells(xlCellTypeVisible) If Not​ «февраль» заполнены 2​
​ форума кого-то ранее​ строка видима (т.е.​Другое дело, если вам​ А больше не​ не так -​ диапазона копирования, если​ формулу (=C2*10%) и также скопировать вниз.​
​ скрытые строки или​ листе не отображается,​ не по теме,​ скопировались только в​ взглянуть на проблему​По факту получается,​:​ 2010. А что​ rngTrgt Is Nothing​
​ строки: №2 и​ к подобному макросу.​ не отфильтрована).​ необходимо вставить в​ знаю как.​ надо разбираться локально​ строка видима (т.е.​Другое дело, если вам​ столбцы, возможно, потребуется​ у вас есть​ но хочется сказать​ видимые ячейки. Точно​ и найти другое​ копирую выделением при​_Boroda_​ такое Alt-ВЫ?​ Then If rngSrc.Cells.Count​ №7. я их​ но в ответ​EgorAg​ отфильтрованные ячейки не​Вроде все сошлось.​

​Pelena​​ не отфильтрована).​ необходимо вставить в​ отобразить их, чтобы​ возможность копирования всех​ здесь. Сочетание клавиш​ также можно вставлять​ решение?​ сгруппированном состоянии ячейки,​, действительно были открыты​Pelena​

​ = rngTrgt.Cells.Count And​​ копирую и вставляю​
​ — «тишина»!​: Добрый день, уважаемые​ одинаковые значения или​http://zalil.ru/33260588​
​: Я так понимаю​Гость​ отфильтрованные ячейки не​ увидеть все скопированные​ ячеек, или только​ «Ctrl» + R​ и формулы. Мы​Guest​ потом вставляю в​ две книги, правда​

​: F5 — Выделить​​ rngSrc.Areas.Count = rngTrgt.Areas.Count​ в столбец «январь».​;)
​Z​ форумчане!​ формулы, а разные,​Весьма распространенная ситуация, вопрос​ новые данные вставляются​: Уважаемые знающие люди…помогите​
​ одинаковые значения или​ данные.​

​ видимые ячейки. По​​ – копирует данные​ в ячейке С2​: Основной ход мысли​ нужные мне, и​ в одном экселе.​ — Только видимые​ Then For j​ копирую выделив 2​: Значит вы… ошибаетесь​Тема эта поднималась​ да еще и​ про которую мне​ с помощью заполнения?​ плиз…​
​ формулы, а разные,​Весьма распространенная ситуация, вопрос​ умолчанию Excel копирует​ по строке Excel​ пишем такую формулу.​ — если видима​ эксель вставляет их​
​ На всякий случай​ ячейки — ОК​ = 1 To​ строчки и вставляю​

​ где-то, в чем-то…​​ уже не раз,​ брать их из другого​;)
​ задают почти на​Тогда нужно сделать​Суть есть список​ да еще и​
​ про которую мне​ скрытых или отфильтрованных​ (в нашем примере​
​ =А2*10​ или если высота​ подряд, а не​ все закрыл, открыл​

​ — дальше Копировать/Вставить​​ rngTrgt.Areas.Count If rngSrc.Areas(j).Rows.Count​ выделив в столбце​Мо быть -​ но на практике​ диапазона. Тогда придется использовать​ каждом тренинге. Есть​ так: отфильтровать столбец,​ из около 2000​ брать их из другого​ задают почти на​ ячейки не только​ – строка 2,​Получилось так.​ строки не =​ в нужные мне​ только одну нужную​_Boroda_​ <> rngTrgt.Areas(j).Rows.Count Or​ январь 2 строчки.​ «чтобы их размеры​ реализовать советы не​ несложный макрос. Нажмите​ таблица, в которой​ выделить диапазон ячеек,​ строк с огловлениями​ диапазона. Тогда придется использовать​
​ каждом тренинге. Есть​ видимые ячейки. Если​ копировали число 800​Отменим фильтр. Получилась такая​ 0 то вставалять.​ строки.​ книгу — все​: Еще можно Альт+ТочкасЗапятой​
​ _ rngSrc.Areas(j).Columns.Count <>​ соответственно, если делаю​ совпадали, т.к. разница​ получается. Поэтому обращаюсь​ сочетание клавиш​ Фильтром (​ которые хотим заполнить,​ пустыми строками …​ несложный макрос. Нажмите​ таблица, в которой​

​ это не является​​ из ячейки D2).​ таблица.​Dyka​Pelena​ то же самое,​На разных компьютерах​ rngTrgt.Areas(j).Columns.Count Then Exit​ это без применения​ в размерностях вызовет​ к вам за​

​Alt+F11​​Данные — Фильтр​ затем в диалоговом​ и 15 столбцами​ сочетание клавиш​ Фильтром (​ вас не устраивают,​ Получилось так.​Формула и цифры вставились​: The_Prist большущее спасибо!!!​: Возможно, это ищете​ копируются выделенные строки​ по-разному — иногда​ Sub Next j​ макроса, то вставляется​ впоследствии ошибку при​ помощью.​, в открывшемся окне​) отобраны несколько строк.​ окне ВЫДЕЛЕНИЕ ГРУППЫ​фильтрую по допустим​Alt+F11​Данные — Фильтр​ выполните действия, описанные​Третий способ.​ только в отфильтрованные​очень пригодиться в​ Вставка в отфильтрованные​ без проблем, Paste​ работает Альт+Ж, иногда​ For j =​ без учета «фильтрации»,​ вставке.»​Проблема тривиальная: есть​ Visual Basic вставьте​ Задача — вставить​ ЯЧЕЕК поставить переключатель​ 5 столбцу, получаю​, в открывшемся окне​) отобраны несколько строк.​ в этой статье,​В новом столбце​

​ строки.​​ работе эта вещь!!!​ строки​ без проблем, Insert​

​ Альт+Контрл+4​​ 1 To rngTrgt.Areas.Count​ а если с​ps Правила пп​
​ массив, состоящий из​

planetaexcel.ru

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

​ новый пустой модуль​​ какие-либо нужные нам​ ТОЛЬКО ВИДИМЫЕ ЯЧЕЙКИ,​ список из 560​ Visual Basic вставьте​ Задача — вставить​ чтобы скопировать только​ (в нашем примере​Второй способ.​Правда горячие клавиши​или ещё​ просто вставляет пустую​krosav4ig​ For i =​ макросом, то выдает​ 2.2, 2.3.​ нескольких столбцов, произвожу​ через меню​ значения именно в​ ввести нужное значение​ строк… в соседний​ новый пустой модуль​ какие-либо нужные нам​ видимые ячейки. Например​ – столбец Е)​Также отфильтруем данные.​ вроде как не​http://www.excel-vba.ru/chto-um….achejki​ строку, Insert Copied​: Вы нажмите F5​

​ 1 To rngTrgt.Areas(j).Cells.Count​​ ошибку.​EgorAg​ фильтрацию и выделенные​

​Insert — Module​​ видимые отфильтрованные строки,​ и нажать +.​ столбец ПЫТАЮСЬ вставить​ через меню​ значения именно в​

​ вы можете скопировать​​ выделяем ячейки. Нажимаем​ В первой ячейке​ работают (по ctrl+w​Michael_S​

​ Cells отсутствует. Возможно​​ и посмотрите, какие​
​ rngSrc.Areas(j).Cells(i).Copy rngTrgt.Areas(j).Cells(i) Next​горячими клавишами пользовался,​: для примера, сделал​ данные из одного​

​и скопируйте туда​​ пропуская при этом​ В этом случае​ новые данные …​Insert — Module​ видимые отфильтрованные строки,​ только итоговых данных​ клавишу F5. Выйдет​
​ пишем число, формулу,​​ документ закрывается), но​​: По шагам, на​​ данный функционал просто​

​ буковки Alt при​​ i Next j​ тоже нашел на​ таблицу, где нужно​ столбца необходимо вставить​ этот код:​ скрытые. Обычное копирование-вставка​ заполнятся только видимые​ и получается что​и скопируйте туда​ пропуская при этом​ из структурированных листа.​ диалоговое окно «Переход».​ текст, т.д. Теперь,​ я макросы на​ вашем примере:​ не предусмотрен в​ нажатом подчеркнуты, вот​ End If End​ просторах инета, но​ скопировать 2 строки​
​ в другой столбец,​Sub PasteToVisible() Dim​ при этом не​ ячейки.​ вставляются данные во​ этот код:​ скрытые. Обычное копирование-вставка​Сделайте следующее:​ Нажимаем кнопку «Выделить…».​ если строк тысячи,​

​ форму-кнопку повесил и​​выделяем ячейки в столбце​ экселе, хотя конечно​ их и нужно​ If End If​ результата нет, сейчас​ из февраля и​ синхронно, строка в​ copyrng As Range,​ сработает, т.к. данные вставятся​

​Гость​​ все по порядку​​Sub PasteToVisible() Dim​​ при этом не​Выделите ячейки, которые нужно​ И, в новом​ то выделяем ячейки​ тогда все получилось.​ Е:Е​ это как то​ жать при зажатом​ End Sub​ уже не помню,​ вставить в 2​ строку.​ pasterng As Range​ не только в​: Как вариант могу​ скрытие ячейки, а​ copyrng As Range,​ сработает, т.к. данные вставятся​ скопировать подробнее, читайте​

excelworld.ru

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

​ диалоговом окне «Выделение​
​ так: нажимаем клавиши​Dyka​Жмем Ctrl+G​
​ странно…​ Alt​EgorAg​ какую именно давал​ строки января, вроде​

​Пытался реализовать это​​ Dim cell As​ видимые, но и​ скинуть вам файл,​ не в те​ pasterng As Range​

​ не только в​​ статью выберите ячеек,​ группы ячеек», ставим​ «Ctrl» + «Shift»​: Только, наверное, не​Выделить​
​ячейки. Как исправить это?​В​: Юрий М, извиняюсь.​ ошибку, но не​ здесь уже сложно​ путем выделения отфильтрованных​ Range, i As​ в скрытые ячейки.​ попробуете, если все​ которые я фильтранул……​ Dim cell As​ видимые, но и​

Копирование и вставка через не затрагивая заполненные строки (Формулы/Formulas)

​ диапазонов, строк и​​ галочку у слов​
​ + кнопку (стрелочку)​ обязательно делать проверку​Только видимые​Мне надо чтобы​ыделить > Видим​ я новичок на​ вставлял.​ в такой таблице​ ячеек, последующего вызова​ Long ‘запрашиваем у​ Давайте посмотрим, как​
​ получится буду благодарен…​ВОПРОС как вставить​ Range, i As​ в скрытые ячейки.​ столбцов на листе.​ «Только видимые ячейки».​ вниз (или кнопку​ на количество выделенных​в строке формул =C11​

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

​ пользователя по очереди​​ можно обойти эту​Гость​

  • ​ в те которые​ Long ‘запрашиваем у​
  • ​ Давайте посмотрим, как​
  • ​Совет:​
  • ​ Нажимаем «ОК». Теперь,​
  • ​ вверх, зависит от​
  • ​ строк на втором​

​Ctrl+Enter​

​ скрытые фильтром.​​е​

excelworld.ru

Как при вставке ячеек игнорировать скрытые строки?

​EgorAg​​ сложно. просто я​ и мне выдает​ ячеек» и выбора​ диапазоны копирования и​ проблему.​: новые данные вставляются​ отфильтрованы!!!!​ пользователя по очереди​ можно обойти эту​ Чтобы отменить выделение ячеек,​ не отменяя выделения,​

​ того, где хотим​

​ шаге, вероятно, чтобы​​Все​Помню раньше, когда​RMMMM​: JayBhagavan, большое спасибо.​ упростил ее по​

​ ошибку: диапазоны копирования​​ «выделить только выбранные​ вставки Set copyrng​Если вам нужно вставить​ не с помощью​(можно скопировать отфильтрофанные​

​ диапазоны копирования и​​ проблему.​ щелкните любую ячейку​ в первой ячейке​ выделить ячейки –​ этого избежать надо​AleksFin​ то, получалось нормально​: Не получается. По​ все работает очень​

​ максиму, чтобы ошибку​​ и вставки разного​ ячейки», соответственно их​ = Application.InputBox(«Диапазон копирования»,​ одни и те​ заполнения, а копируются​ данные на новый​

​ вставки Set copyrng​​Если вам нужно вставить​ на листе.​ столбца (у нас​ ниже или выше​ сделать подсчет скопированных​

​: Отлично, спасибо​​ копировать, но не​

​ моему Excel 2010​ прекрасно.​

​ найти. а так​ размера. не пойму​ копирования и если​ «Запрос», Type:=8) Set​ же значения во​ с нового листа…(при​ лист «вставить значения»​

​ = Application.InputBox(«Диапазон копирования»,​​ одни и те​Щелкните​ – Е2) вводим​ ячейки, в которой​ ячеек.​Dyka​ знаю почему так​ выделяет видимые ячейки​

planetaexcel.ru

​Очень Вам благодарен.​

Если для фильтрации данных требуются сложные условия (например, Тип = «Фрукты» ИЛИ Продавец = «Егоров»), можно использовать диалоговое окно Расширенный фильтр.

Чтобы открыть диалоговое окно Расширенный фильтр, щелкните Данные > Дополнительно.

Группа ''Сортировка и фильтр'' на вкладке ''Данные''

Расширенный фильтр

Пример

Обзор расширенных условий фильтра

Несколько условий, один столбец, любое из условий истинно

Продавец = «Егоров» ИЛИ Продавец = «Грачев»

Несколько условий, несколько столбцов, все условия истинны

Тип = «Фрукты» И Продажи > 1000

Несколько условий, несколько столбцов, любое из условий истинно

Тип = «Фрукты» ИЛИ Продавец = «Грачев»

Несколько наборов условий, один столбец во всех наборах

(Продажи > 6000 И Продажи < 6500) ИЛИ (Продажи < 500)

Несколько наборов условий, несколько столбцов в каждом наборе

(Продавец = «Егоров» И Продажи >3000) ИЛИ
(Продавец = «Грачев» И Продажи > 1500)

Условия с подстановочными знаками

Продавец = имя со второй буквой «г»

Обзор расширенных условий фильтра

Действие команды Дополнительно отличается от действия команды Фильтр в некоторых важных аспектах.

  • Она отображает диалоговое окно Расширенный фильтр, а не меню «Автофильтр».

  • Вы вводите расширенные условия в отдельном диапазоне условий на листе над диапазоном ячеек или таблицей, которую нужно отфильтровать. В качестве источника расширенных условий в Microsoft Office Excel используется отдельный диапазон условий в диалоговом окне Расширенный фильтр.

Образец данных

Этот пример данных используется для всех процедур, описанных в этой статье.

Эти данные включают четыре пустые строки над диапазоном списка, которые будут использоваться как диапазон условий (A1:C4) и диапазон списка (A6:C10). Диапазон условий содержит названия столбцов и по крайней мере одну пустую строку между значениями условий и диапазоном списка.

Для работы с этими данными выделите их в следующей таблице, скопируйте, а затем вставьте в ячейку A1 на новом листе Excel.

Тип

Продавец

Продажи

Тип

Продавец

Продажи

Напитки

Шашков

5 122 ₽

Мясо

Егоров

450 ₽

фрукты

Грачев

6328 ₽

Фрукты

Егоров

6544 ₽

Операторы сравнения

Операторы сравнения используются для сравнения двух значений. Результатом сравнения является логическое значение: ИСТИНА либо ЛОЖЬ.

Оператор сравнения

Значение

Пример

= (знак равенства)

Равно

A1=B1

> (знак «больше»)

Больше

A1>B1

< (знак «меньше»)

Меньше

A1<B1

>= (знак «больше или равно»)

Больше или равно

A1>=B1

<= (знак «меньше или равно»)

Меньше или равно

A1<=B1

<> (знак «не равно»)

Не равно

A1<>B1

Использование знака равенства для ввода текста или значения

При вводе текста или значения в ячейке знак равенства (=) используется для обозначения формулы, поэтому Excel вычисляет то, что вы вводите. Однако при этом вы можете получить неожиданные результаты фильтрации. Чтобы указать оператор сравнения «равно» для текста или значения, введите условия в виде строкового выражения в соответствующей ячейке в диапазоне условий.

=»=
ввод
»

где ввод — искомый текст или значение. Например:

Вводится в ячейку

Вычисляется и отображается

=»=Егоров»

=Егоров

=»=3000″

=3000

Учет регистра

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

Использование заранее определенных имен

Вы можете назвать диапазон Условия, и ссылка на диапазон автоматически появится в поле Диапазон условий. Вы также можете указать имя База данных для диапазона списка, который будет фильтроваться, и имя Извлечение для области, в которой вы собираетесь вставлять строки. Эти диапазоны автоматически появятся в полях Исходный диапазон и Поместить результат в диапазон соответственно.

Создание условий с помощью формулы

В качестве условия можно использовать значение, вычисленное с помощью формулы. Обратите внимание на важные моменты, указанные ниже.

  • Формула должна возвращать результат ИСТИНА или ЛОЖЬ.

  • Поскольку используется формула, введенное строковое выражение должно иметь обычный вид, а не тот, который показан ниже:

    =»=
    ввод
    »

  • Не используйте название столбца в качестве названия условия. Либо оставьте название условия пустым, либо используйте название, не являющееся названием столбца в диапазоне списка (в последующих примерах: «Среднее арифметическое» и «Точное совпадение»).

    Если в формуле используется название столбца, а не относительная ссылка на ячейку или имя диапазона, в ячейке с условием будет выведено значение ошибки #ИМЯ? или #ЗНАЧ!. Эту ошибку можно проигнорировать, поскольку она не влияет на фильтрацию диапазона списка.

  • В формуле, которая используется для условий, необходимо использовать относительную ссылку для ссылки на соответствующую ячейку в первой строке данных.

  • Все остальные ссылки в формуле должны быть абсолютными.

Несколько условий, один столбец, любое из условий истинно

Логическое выражение:    (Продавец = «Егоров» ИЛИ Продавец = «Грачев»)

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

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

    Тип

    Продавец

    Продажи

    =»=Егоров»

    =»=Грачев»

  3. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне A6:C10.

  4. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  5. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.

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

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

  6. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$3.

    Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  7. Используя пример, получаем следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    Мясо

    Егоров

    450 ₽

    фрукты

    Грачев

    6 328 ₽

    Фрукты

    Егоров

    6 544 ₽

Несколько условий, несколько столбцов, все условия истинны

Логическое выражение:    (Тип = «Фрукты» И Продажи > 1000)

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

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

    Тип

    Продавец

    Продажи

    =»=Фрукты»

    >1 000

  3. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне A6:C10.

  4. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  5. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.

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

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

  6. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$2.

    Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  7. Используя пример, получаем следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    фрукты

    Грачев

    6 328 ₽

    Фрукты

    Егоров

    6 544 ₽

Несколько условий, несколько столбцов, любое из условий истинно

Логическое выражение:     (Тип = «Фрукты» ИЛИ Продавец = «Грачев»)

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

  2. Чтобы найти строки, отвечающие нескольким условиям в нескольких столбцах, где любое условие может быть истинным, введите эти условия в разных строках диапазона условий. Используя пример, введите:

    Тип

    Продавец

    Продажи

    =»=Фрукты»

    =»=Грачев»

  3. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.

  4. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  5. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.

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

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

  6. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$B$3.

    Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  7. Используя пример, получаем следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    фрукты

    Грачев

    6 328 ₽

    Фрукты

    Егоров

    6 544 ₽

Несколько наборов условий, один столбец во всех наборах

Логическое выражение:     ( (Продажи > 6000 И Продажи < 6500 ) ИЛИ (Продажи < 500) )

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

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

    Тип

    Продавец

    Продажи

    Продажи

    >6 000

    <6 500

    <500

  3. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.

  4. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  5. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.

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

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

  6. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$D$3.

    Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  7. Используя пример, получаем следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    Мясо

    Егоров

    450 ₽

    фрукты

    Грачев

    6 328 ₽

Несколько наборов условий, несколько столбцов в каждом наборе

Логическое выражение:    ( (Продавец = «Егоров» И Продажи > 3000) ИЛИ (Продавец = «Грачев» И Продажи > 1500) )

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

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

    Тип

    Продавец

    Продажи

    =»=Егоров»

    >3 000

    =»=Грачев»

    >1 500

  3. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.

  4. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  5. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.

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

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

  6. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$3. Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  7. Используя пример, получим следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    фрукты

    Грачев

    6 328 ₽

    Фрукты

    Егоров

    6 544 ₽

Условия с подстановочными знаками

Логическое выражение:    Продавец = имя со второй буквой «г»

  1. Чтобы найти текстовые значения с совпадающими знаками в некоторых из позиций, выполните одно или несколько действий, описанных ниже.

    • Чтобы найти строки, в которых текстовое значение в столбце начинается с определенной последовательности знаков, введите эти знаки, не используя знак равенства (=). Например, если ввести условие Бел, будут найдены строки с ячейками, содержащими слова «Белов», «Беляков» и «Белугин».

    • Воспользуйтесь подстановочными знаками.

      Используйте

      Чтобы найти

      ? (вопросительный знак)

      Любой символ (один)
      Пример: условию «стро?а» соответствуют результаты «строфа» и «строка»

      * (звездочка)

      Любое количество символов
      Пример: условию «*-восток» соответствуют результаты «северо-восток» и «юго-восток»

      ~ (тильда), за которой следует ?, * или ~

      Вопросительный знак, звездочку или тильду
      Пример: условию «ан91~?» соответствует результат «ан91?»

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

  3. В строках под названиями столбцов введите условия, которым должен соответствовать результат. Используя пример, введите:

    Тип

    Продавец

    Продажи

    =»=Мя*»

    =»=?г*»

  4. Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.

  5. На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.

    Группа ''Сортировка и фильтр'' на вкладке ''Данные''

  6. Выполните одно из следующих действий:

    • Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте

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

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

  7. В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$B$3.

    Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно Изображение кнопки.

  8. Используя пример, получаем следующий отфильтрованный результат для диапазона списка:

    Тип

    Продавец

    Продажи

    Напитки

    Шашков

    5 122 ₽

    Мясо

    Егоров

    450 ₽

    фрукты

    Грачев

    6 328 ₽

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Хитрости »

1 Май 2011              268596 просмотров


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

Ни для кого не секрет, что Excel позволяет выделять только видимые строки. Например, если некоторые из них скрыты или к ним применен фильтр.

если кто-то не знает, как это сделать: выделяем диапазон — Alt+;(для английской раскладки);Alt+ж(для русской). Подробнее можно почитать в этой статье

Если после выделения только видимых ячеек их скопировать, то скопируются они как положено. Но при попытке вставить скопированное в отфильтрованный диапазон(либо содержащий скрытые строки) — то результат вставки будет не совсем такой, как Вы ожидали. Данные будут вставлены даже в скрытые строки. Либо как вариант получим ошибку «Данная команда не применима к несвязанному диапазону».

Копируем единый диапазон ячеек и вставляем только в видимые
Чтобы данные вставлялись только в видимые ячейки, можно применить такой макрос:

Option Explicit
Dim rCopyRange As Range
'Этим макросом копируем данные
Sub My_Copy()
    If Selection.Count > 1 Then
        Set rCopyRange = Selection.SpecialCells(xlVisible)
    Else: Set rCopyRange = ActiveCell
    End If
End Sub
'Этим макросом вставляем данные, начиная с выделенной ячейки
Sub My_Paste()
    If rCopyRange Is Nothing Then Exit Sub
    If rCopyRange.Areas.Count > 1 Then MsgBox "Вставляемый диапазон не должен содержать более одной области!", vbCritical, "Неверный диапазон": Exit Sub
    Dim rCell As Range, li As Long, le As Long, lCount As Long, iCol As Integer, iCalculation As Integer
    Application.ScreenUpdating = False
    iCalculation = Application.Calculation: Application.Calculation = -4135
    For iCol = 1 To rCopyRange.Columns.Count
        li = 0: lCount = 0: le = iCol - 1
        For Each rCell In rCopyRange.Columns(iCol).Cells
            Do
                If ActiveCell.Offset(li, le).EntireColumn.Hidden = False And _
                   ActiveCell.Offset(li, le).EntireRow.Hidden = False Then
                    rCell.Copy ActiveCell.Offset(li, le)
                    lCount = lCount + 1
                End If
                li = li + 1
            Loop While lCount >= rCell.Row - rCopyRange.Cells(1).Row
        Next rCell
    Next iCol
    Application.ScreenUpdating = True: Application.Calculation = iCalculation
End Sub

Как использовать: Для начала надо убедиться, что разрешены макросы и при необходимости включить их: почему не работает макрос. Затем копируем код выше, из Excel переходим в редактор VBA(Alt+F11) —InsertModule. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt+F8 -выделяем имя макросаВыполнить(Run).
Для полноты картины, данные макросы лучше назначить на горячие клавиши(в приведенных ниже кодах это делается автоматически при открытии книги с кодом). Для этого приведенные ниже коды необходимо просто скопировать в модуль ЭтаКнига(ThisWorkbook):

Option Explicit
'Отменяем назначение горячих клавиш перед закрытием книги
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^q": Application.OnKey "^w"
End Sub
'Назначаем горячие клавиши при открытии книги
Private Sub Workbook_Open()
    Application.OnKey "^q", "My_Copy": Application.OnKey "^w", "My_Paste"
End Sub

Теперь можно скопировать нужный диапазон нажатием клавиш Ctrl+q, а вставить его в отфильтрованный — Ctrl+w.
Если необходимо переносить только значения(т.е. если в ячейке будут формулы, то в итоге будет перенесен результат вычисления этой формулы), надо заменить строку в коде:

rCell.Copy ActiveCell.Offset(li, le)

на такую:

ActiveCell.Offset(li, le) = rCell.Value

Скачать пример

  Tips_Macro_CopyPasteInHiddenRows.xls (46,5 KiB, 14 215 скачиваний)


Копируем только видимые ячейки и вставляем только в видимые
По многочисленным просьбам доработал код. Теперь возможно копировать любые диапазоны: со скрытыми строками, скрытыми столбцами и вставлять скопированные ячейки также в любые диапазоны: со скрытыми строками, скрытыми столбцами. Работает совершенно так же, как и предыдущий: нажатием клавиш Ctrl+q копируем нужный диапазон(со скрытыми/отфильтрованными строками и столбцами или не скрытыми), а вставляем сочетанием клавиш Ctrl+w. Вставка производится так же в скрытые/отфильтрованные строки и столбцы или без скрытых.
Если в копируемом диапазоне присутствуют формулы, то во избежание смещения ссылок можно копировать только значения ячеек — т.е. при вставке значений будут вставлены не формулы, а результат их вычисления. Или если необходимо сохранить форматы ячеек, в которые происходит вставка — будут скопированы и вставлены только значения ячеек. Для этого надо заменить строку в коде(в файле ниже):

rCell.Copy rResCell.Offset(lr, lc)

на такую:

rResCell.Offset(lr, lc) = rCell.Value

В файле ниже обе эти строки присутствуют, Вам надо лишь оставить ту, которая больше подходит под Ваши задачи.

Скачать пример:

  Tips_Macro_CopyPasteInHiddenCells.xls (54,5 KiB, 12 770 скачиваний)

Так же см.:
Excel удаляет вместо отфильтрованных строк — все?! Как избежать


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

@NSK-Mar 

As others have stated, Excel does not allow you to paste into a filtered data. The best way to do this is to sort instead of filter. The easiest way to do this, especially for information that is not easily sortable, is to:

— filter your info

— fill the cells of your filtered list with a color

— Clear the filter

— do a custom sort of the list by color and then by a-z (to make it match up with the information you are pasting in)

— Paste your information in your sheet

— Reorder the colors from your cells and reorder the information if necessary.

Note: If the original order of your information is important, do what one user suggested and add a column to your original sheet and number each row, so you can resort back to its original order.

Also, if you are working with extremely large lists where you first have to identify the matching cells before copying over the information, you can always use conditional formatting to identify and highlight any matching cells in a column from one sheet to another within the same workbook. After doing this, you can then follow the steps above to copy the information over. 

Понравилась статья? Поделить с друзьями:
  • Excel скопировать без скрытых столбцов
  • Excel сколько ячеек с определенным значением
  • Excel сколько ячеек в диапазоне
  • Excel сколько чисел в диапазоне
  • Excel сколько цифр в числе