Вставка в отфильтрованные строки
Весьма распространенная ситуация, вопрос про которую мне задают почти на каждом тренинге. Есть таблица, в которой Фильтром (Данные — Фильтр) отобраны несколько строк. Задача — вставить какие-либо нужные нам значения именно в видимые отфильтрованные строки, пропуская при этом скрытые. Обычное копирование-вставка при этом не сработает, т.к. данные вставятся не только в видимые, но и в скрытые ячейки. Давайте посмотрим, как можно обойти эту проблему.
Способ 1. Вставка одинаковых значений или формул
Если вам нужно вставить одни и те же значения во все отфильтрованные строки списка, то все просто. Предположим, что у нас есть вот такой список сделок:
… и в нем нужно поставить фиксированную скидку в 1000 рублей каждому «Ашану».
Фильтруем наш список Автофильтром, оставляя на экране только «Ашаны». Вводим нужное значение в первую ячейку и протягиваем (копируем за правый нижний угол ячейки) вниз:
Умный Excel в данном случае понимает, что вы хотите ввести значения именно в отфильтрованные ячейки и делает то, что нужно:
Такой способ подойдет и для ввода значений и для ввода формул. Например, если скидка для «Ашанов» не фиксированная, а составляет 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)
списка, то всеНайти и выделить «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/38132320Serge_007 «Диапазоны копирования и… и в нем нужно поставитьВыберите параметр условным форматированием и
И, в новом не во все во все строки: > На самом Не работает именно выделяю последнюю отфильтрованную том числе, менятьтак что, если ячеек, в которые Exit Sub End
excel-office.ru
Копирование только видимых ячеек
1000 рублей каждомув лист «все: В Excel 2007/2010 вставки разного размера!»,vbCritical фиксированную скидку втолько видимые ячейки формулой. Смотрите, как диалоговом окне «Выделение строки таблицы, можно подряд, в т.ч. деле я применил Insert (по правой строку, жму Ctrl+C, файл. В данном кому не сложно, хочу вставить эти If ‘переносим данные «Ашану». районы» в столбец по умолчанию данные Exit Sub End 1000 рублей каждому
и нажмите кнопку это сделать, в группы ячеек» ставим воспользоваться фильтром. Как и скрытые (отфильтрованные). не фильтр к кнопке мыши нет в местах пропущенных случае следовало ПОМЕНЯТЬ помогите понять в данные, то выдает из одного диапазонаФильтруем наш список Автофильтром, «Т» вставить значения вставляются только в If ‘переносим данные «Ашану».ОК статье «Закрасить ячейку галочку у слов
установить фильтр и
-
Как быть? диапазону, а скрыл опции Insert Copied строк бегут мураши. файл в старом
чем ошибаюсь. ошибку: «данная команда в другой только оставляя на экране
-
из листа «ИЗНОС» отфильтрованные строки, что из одного диапазонаФильтруем наш список Автофильтром,. по условию в «Только видимые ячейки». как фильтровать в
-
Владимир некоторые строки Cells). Excel английский. Перехожу на другую сообщении и проинформировать
-
Z не применима для в видимые ячейки только «Ашаны». Вводим
-
из столбца «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). можно оперативнее обеспечивать
вызвать диалоговое окно вставить данные только лист. Думаю, проблема скрытие строки —
работает без проблем. нужно вставить скопированныеJayBhagavan — с вашими тема поиска по cell.EntireRow.Hidden = False правый нижний угол: Файл пока не
пустые ячейки». In pasterng If протягиваем (копируем заВыделите левую верхнюю ячейку вас актуальными справочными «Выделение группы ячеек». в видимые ячейки,
исчезнет. просто установка еёРешение есть с строки — но: Выделили что копировать данными — и сайту. Из-за этого 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 iEgorAg: спасибо за совет. и вставки. Затем для ввода значений
: вобщем так. побывал и спецвставкой диапазона — копированияТакой способ подойдет и книгу, щелкните вкладку
вас уделить пару выделенных столбцах 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) (сейчас файл подправлен).
по этой причине при вставке. Затем составляет 10% от Куча повторяющихся значений.
: Короче никто не вызовет впоследствии ошибку не фиксированная, а вставки. Для удобства также или формулой, как В2 ставим число или как то
строкам и вставить Попробуйте закрыть вторую выделить только видимые On Error Resume а так я и создал тему макрос перебирает все
суммы сделки, то Кодов нет. Из знает и никто при вставке. Затем составляет 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). таблица.DykaPelena то же самое,На разных компьютерах 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+wMichael_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
странно… AltEgorAg какую именно давал строки января, вроде
Пытался реализовать это 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
Очень Вам благодарен.
Как вставить значения в видимые / отфильтрованные ячейки только в Excel?
В Excel, если вы отфильтровали данные или скрыли некоторые ячейки и когда вы вставляете значения в отфильтрованный или скрытый диапазон, скрытые ячейки также будут заполнены вставленными значениями. Здесь я расскажу вам несколько хитростей, чтобы вставить значения в видимые ячейки только в Excel.
Вставить значения в видимые ячейки с помощью VBA
Вставьте значения в видимые ячейки с помощью команды «Вставить в видимый диапазон». Kutools for Excel
В Excel нет других способов решить эту проблему, кроме VBA.
1. Нажмите Alt + F11 одновременно, а Microsoft Visual Basic для приложений окно выскакивает.
2. Нажмите Вставить > Модули, затем вставьте ниже код VBA в всплывающее окно модуля.
VBA: вставлять значения только в видимые ячейки.
Sub CopyFilteredCells()
'Updateby20150203
Dim rng1 As Range
Dim rng2 As Range
Dim InputRng As Range
Dim OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Copy Range :", xTitleId, InputRng.Address, Type: = 8)
Set OutRng = Application.InputBox("Paste Range:", xTitleId, Type: = 8)
For Each rng1 In InputRng
rng1.Copy
For Each rng2 In OutRng
If rng2.EntireRow.RowHeight > 0 Then
rng2.PasteSpecial
Set OutRng = rng2.Offset(1).Resize(OutRng.Rows.Count)
Exit For
End If
Next
Next
Application.CutCopyMode = False
End Sub
3. Нажмите F5 ключа или Run , затем появится диалоговое окно, в котором вы можете выбрать значения для копирования. Смотрите скриншот:
4. После выбора значений щелкните OK, затем появится другое диалоговое окно для выбора диапазона для вставки выбранных данных. Смотрите скриншот:
5. Нажмите OK. Вы можете видеть только видимые ячейки, в которые вставлены выбранные значения.
Собственно, если вы используете Вставить в видимый диапазон полезности Kutools for Excel — удобный инструмент Excel, вы можете быстро и легко решить проблему вставки значений в видимый диапазон.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите диапазон значений, которые вы хотите скопировать и вставить, затем щелкните Кутулс > Диапазон > Вставить в видимый диапазон > Все or Только вставить значения. Смотрите скриншот:
2. Затем Вставить в видимый диапазон появится диалоговое окно и выберите диапазон, в который вы хотите вставить значения. Смотрите скриншот:
3. Нажмите OK. Теперь выбранные значения вставляются только в видимый диапазон.
Примечание: Эта утилита работает как со скрытыми, так и с отфильтрованными строками или столбцами.
Щелкните здесь, чтобы получить более подробную информацию об утилите «Вставить в видимый диапазон».
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (21)
Оценок пока нет. Оцените первым!
Хитрости »
1 Май 2011 268708 просмотров
Как вставить скопированные ячейки только в видимые/отфильтрованные ячейки
Ни для кого не секрет, что 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) —Insert —Module. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш 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 225 скачиваний)
Копируем только видимые ячейки и вставляем только в видимые
По многочисленным просьбам доработал код. Теперь возможно копировать любые диапазоны: со скрытыми строками, скрытыми столбцами и вставлять скопированные ячейки также в любые диапазоны: со скрытыми строками, скрытыми столбцами. Работает совершенно так же, как и предыдущий: нажатием клавиш Ctrl+q копируем нужный диапазон(со скрытыми/отфильтрованными строками и столбцами или не скрытыми), а вставляем сочетанием клавиш Ctrl+w. Вставка производится так же в скрытые/отфильтрованные строки и столбцы или без скрытых.
Если в копируемом диапазоне присутствуют формулы, то во избежание смещения ссылок можно копировать только значения ячеек — т.е. при вставке значений будут вставлены не формулы, а результат их вычисления. Или если необходимо сохранить форматы ячеек, в которые происходит вставка — будут скопированы и вставлены только значения ячеек. Для этого надо заменить строку в коде(в файле ниже):
rCell.Copy rResCell.Offset(lr, lc)
на такую:
rResCell.Offset(lr, lc) = rCell.Value
В файле ниже обе эти строки присутствуют, Вам надо лишь оставить ту, которая больше подходит под Ваши задачи.
Скачать пример:
Tips_Macro_CopyPasteInHiddenCells.xls (54,5 KiB, 12 781 скачиваний)
Так же см.:
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.