Как вставить значения в 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.

​Смотрите также​: Лена, у Вас​ ​solotze​​ на клавиатуре не​ нужно нажать левой​ диапазон.​ фильтра», _ Title:=»Копирование​ нужное значение?​ новые данные вставляются​ не в те​ Exit Sub End​Такой способ подойдет и​ про которую мне​ фильтр, то вставятся​ Excel провели с​ или формулой, как​ только в отфильтрованные​Вставить только в видимые​ не Excel, а​: может чтоб она​
​ могу.​​ клавишей мыши, перетащить​​2) Нажать кнопку​
​ значений», _ Default:=ActiveCell.Value)​Tviga​ с помощью заполнения?​
​ которые я фильтранул……​ If ‘переносим данные​ для ввода значений​ задают почти на​ отфильтрованные данные и​ помощью фильтра или​ в первой ячейке.​ строки.​ строки в​ ОпенОфис. Там это​ была активна, надо​еще вот это​ и отпустить на​ «ВыделитьВидемыеЯчейки».​ Selection.AutoFilter Field:=1, Criteria1:=a​: вобщем так.​Тогда нужно сделать​ВОПРОС как вставить​
​ из одного диапазона​
​ и для ввода​ каждом тренинге. Есть​
Вставить в видимые строки Excel.​ в скрытые фильтром​ сортировки. Теперь их​ В нашем примере,​
​Второй способ.​
​Excel​ вообще не нужно​ еще куда нажать​ нашла​ любой панели кнопок​3) Начать копирование​ c = ActiveCell.Column​не совсем понятно​ так: отфильтровать столбец,​ в те которые​ в другой только​ формул. Например, если​ таблица, в которой​ строки. Вообщем, получится​ нужно распечатать или​ мы написали число800​
​Также отфильтруем данные.​числа, формулы, текст​ — фильтруете ячейки,​такаюсь уже пол​Меню​ (лучше где-то в​ (ну а далее​ EndRow = ActiveSheet.UsedRange.Row​ как завязаны между​ выделить диапазон ячеек,​ отфильтрованы!!!!​​ в видимые ячейки​ скидка для «Ашанов»​

​ Фильтром (​ каша.​ перенести в другое​ в ячейку D2​ В первой ячейке​ можно несколькими способами.​ выделяете всю кучу​ дня в эту​Правка​ конце панели, чтоб​ обычно).​​ — 1 +​ собой листы. Нет​​ которые хотим заполнить,​(можно скопировать отфильтрофанные​ i = 1​ не фиксированная, а​Данные — Фильтр​Второй способ.​ место.​ столбца D. Немного​ пишем число, формулу,​ Когда нужно вставить​ сразу и, не​ кнопку​Перейти​ логику панели не​Вопрос в другом.​ _ ActiveSheet.UsedRange.Rows.Count ‘​ никаких одинаковых данных.​ затем в диалоговом​ данные на новый​ For Each cell​ составляет 10% от​
​) отобраны несколько строк.​
​Таблица та же.​Копирование в Excel​ не по теме,​ текст, т.д. Теперь,​ числа, формулы, текст​ задумываясь о плохом,​может есть еще​Выделить​ ломать).​ Где найти кнопку​ Находим последнюю строку​ Куча повторяющихся значений.​ окне ВЫДЕЛЕНИЕ ГРУППЫ​ лист «вставить значения»​ In pasterng If​ суммы сделки, то​ Задача — вставить​ Выделить таблицу с​настроено так, что​ но хочется сказать​
Как вставить только в видимые стоки Excel.​ если строк тысячи,​ не во все​ просто вставляете в​ какой вариант?​Только виденные ячейки​8) закрыть панель​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ _ рабочей области​ Кодов нет. Из​ ЯЧЕЕК поставить переключатель​

excel-office.ru

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

​ — далее добавить​ cell.EntireRow.Hidden = False​ в первую отфильтрованную строку​ какие-либо нужные нам​ отфильтрованными данными. На​ копируются и скрытые​ здесь. Сочетание клавиш​​ то выделяем ячейки​​ строки таблицы, можно​ нужное место.​solotze​
​Копировать​​ настройки.​​ ее можно найти​ For i =​
​ того что было​
​ ТОЛЬКО ВИДИМЫЕ ЯЧЕЙКИ,​ столбец, НО тогда​​ Then cell.Value =​ можно ввести не​
​ значения именно в​ закладке «Главная» нажимаем​
​ ячейки.​ «Ctrl» + R​ так: нажимаем клавиши​
​ воспользоваться фильтром. Как​igrtsk​:​
Как копировать отфильтрованные строки в Excel.​Вставить​После вышеописанных действий​ в настройках панелей​ 1 To EndRow​ предложено могу только​ ввести нужное значение​
​ нарушается последовательность списка​ copyrng.Cells(i).Value i =​ константу (1000), а​ видимые отфильтрованные строки,​
​ в разделе «Редактирование»​​Рассмотрим два способа,​ – копирует данные​ «Ctrl» + «Shift»​ установить фильтр и​: А я уже​Ну, попробуйте тогда Сервис-Настройка-Команды,​но не могу​ кнопка «ВыделитьВидемыеЯчейки» будет​ управления.​ If Cells(i, c).Value​ так. Вставить пару​ и нажать +.​ ЗАГОЛОВКИ ПОДПУНКТЫ с​ i + 1​ формулу (=C2*10%) и также скопировать вниз.​ пропуская при этом​ ​ кнопку​
​к​ по строке Excel​ + кнопку (стрелочку)​ как фильтровать в​ грешным делом подумал,​ в категории «Правка»​​ все это найти​ там куда вы​​Olya1985​ = a Then​ столбцов. И формулу.​ В этом случае​ текстом описанием и​ End If Next​Другое дело, если вам​ скрытые. Обычное копирование-вставка​функции «Найти и выделить»​​ак копировать отфильтрованные строки​ (в нашем примере​ вниз (или кнопку​ Excel, смотрите в​ что тему затролили​ кнопка «Выделить только​ в компе!!!​ ее перетащили и​: Вопрос в другом.​ Cells(i, c).Select Selection.Copy​
​ А больше не​​ заполнятся только видимые​ т.п. НУЖНО СОХРАНИТЬ​​ cell End Sub​ необходимо вставить в​ при этом не​ в Excel​ в Excel.​ – строка 2,​ вверх, зависит от​ статье «Фильтр в​solotze​ видимые ячейки».​Понимаю, что туплю,​ можно будет выполнить​

excel-office.ru

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

​ Где найти кнопку​ Cells(EndRow + 5,​ знаю как.​ ячейки.​ ЦЕЛОСТНОСТЬ!!!!) ХЕЛП!!!!!!​Как легко сообразить, макрос​​ отфильтрованные ячейки не​​ сработает, т.к. данные вставятся​. Затем, нажимаем кнопку​Первый способ.​ копировали число 800​ того, где хотим​ Excel». Но, чтобы​: что значит Опен-офис?​это вообще не​ но надо сделать…​ все действия из​ «ВыделитьВидемыеЯчейки»? В Excel-2003​ c).Activate ‘ Активируем​Вроде все сошлось.​Гость​Serge_007​

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

​ запрашивает у пользователя​ одинаковые значения или​ не только в​ «Перейти». В появившемся​Есть замечательная функция​ из ячейки D2).​ выделить ячейки –​ вставить данные только​ И как фильтровать?​

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

​ могу найти!!! Либо​ArkaIIIa​ моего предыдущего сообщения.​ ее можно найти​

​ последнюю строку _​http://zalil.ru/33260588​: Как вариант могу​: В Excel 2007/2010​ по очереди два​ формулы, а разные,​ видимые, но и​ диалоговом окне, нажимаем​

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

​ в Excel –​ Получилось так.​ ниже или выше​ в видимые ячейки,​solotze​ я туплю, либо​: Вы же всё​

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

​Кстати, если впоследствии​ в настройках панелей​ плюс 5 строк.​Olya1985​ скинуть вам файл,​ по умолчанию данные​ диапазона — копирования​ да еще и​ в скрытые ячейки.​ кнопку «Выделить…». В​функция «Специальная вставка» в​Третий способ.​

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

​ ячейки, в которой​ нужны свои способы,​: _Boroda_,​ версия компа чудная.​ сами написали.​ Вам будет нужно​ управления.​ If Not IsEmpty(Cells(EndRow​: Подскажите, пожалуйста, можно​ попробуете, если все​​ вставляются только в​​ и вставки. Затем​ брать их из другого​ Давайте посмотрим, как​ окне «Выделение группы​​ Excel.​​В новом столбце​ написали число).​

​ особенно, если много​Надо что бы​Не пойму в​1) Выделяете весь​ удалить какие-то кнопки​А где именно?​ + 5, c).Value)​ ли в excel​ получится буду благодарен…​ отфильтрованные строки, что​ проверяет, чтобы их​ диапазона. Тогда придется использовать​ можно обойти эту​ ячеек» ставим галочку​Итак, у нас​ (в нашем примере​Теперь, или нажимаем​ строк.​ при копировании, скрытые​ чем дело.​ диапазон​ с панелей, то​Семен Казменко​ Then ‘ если​ 2003 после копирования​Гость​ бы вставить во​ размеры совпадали, т.к.​ несложный макрос. Нажмите​ проблему.​ у строки «только​ есть таблица.​ – столбец Е)​

​ сочетание клавиш «Ctrl»​Первый способ -​ ячейки (цветные), не​ArkaIIIa​2) Тыкаете F5​ их можно перетаскивать​: Расскажу только про​ строка не пустая,​ столбца с отфильтрованными​: новые данные вставляются​ все необходимо воспользоваться​ разница в размерностях​ сочетание клавиш​Если вам нужно вставить​ видимые ячейки». Нажимаем​Как установить фильтр, смотрите​ выделяем ячейки. Нажимаем​

planetaexcel.ru

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

​ + G, или​​обычный​ копировались.​
​: У меня, к​3) В появившемся​ в обратном порядке​ Excel-2003. Дома под​ тогда… Do ActiveCell.Offset(1,​
​ данными сделать так,​ не с помощью​ спецвставкой и поставить​ вызовет впоследствии ошибку​Alt+F11​ одни и те​ «ОК».​ в статье «Фильтр​ клавишу F5. Выйдет​ клавишу F5. Выйдет​.​igrtsk​
​ сожалению, нет под​ окне внизу кнопочка​ при наличии на​
​ рукой только он.​ 0).Select Loop Until​ чтобы при их​ заполнения, а копируются​ галку на «Пропускать​ при вставке. Затем​, в открывшемся окне​ же значения во​Теперь на этой же​ в Excel».​

​ диалоговое окно «Переход».​​ диалоговое окно «Переход».​Возьмем такую таблицу.​:​ рукой 2003 экселя.​ «выделить»​ экране окна «Настройка».​1) левой кнопкой мыши​ IsEmpty(ActiveCell.Value) ‘…находим пустую​ вставке в отедельный​

​ с нового листа…(при​​ пустые ячейки».​ макрос перебирает все​ Visual Basic вставьте​ все отфильтрованные строки​ выделенной таблице правой​Мы убираем фильтром​ Нажимаем кнопку «Выделить…».​ Нажимаем кнопку «Выделить…».​ Таблица будет одна​solotze​ Сделайте хотя бы​4) Ставите флажок​

​ Например, выбрали кнопку​​ по любой панели​ ячейку ниже ActiveSheet.Paste​ столбец они вставлялись​

​ протягивании все ок)​​Гость​
​ ячейки в диапазоне​ новый пустой модуль​ списка, то все​

​ мышкой вызываем контекстное​​ из списка всех​ И, в новом​ И, в новом​
​ для всех примеров.​,​ скрин шапки, что​ на «Только видимые​ «Сохранить» (дискетка) и​ кнопок (например, обычно​ Application.CutCopyMode = False​ с учетом фильтра,​Pelena​: Стоит 2007 …в​ вставки и переносит​ через меню​ просто. Предположим, что​

​ меню. Нажимаем функцию​​ Ивановых. Получилось так.​ диалоговом окне «Выделение​ диалоговом окне «Выделение​Уберем фильтром все цифры​

​Судя по расширению​​ у вас там​ ячейки»​ перетащили ее отпустив​ включена панель «Стандартная»).​ Else ActiveSheet.Paste Application.CutCopyMode​

​ то есть тольке​​: А у Вас​ том то и​
​ туда данные из​

​Insert — Module​​ у нас есть​
​ «Копировать». В новом​
​Выделяем таблицу, нажимаем в​ группы ячеек», ставим​ группы ячеек» ставим​ 2 из таблицы.​ файла (​
​ в менюшке верхней​5) Тыкаете ОК​

​ на окне «Настройка».​​2) в появившемся​ = False End​ те данные которые​ не получилось?​
​ дело что по​ диапазона копирования, если​и скопируйте туда​ вот такой список​ месте (в нашем​

​ контекстном меню «Копировать».​​ галочку у слов​
​ галочку у слов​ В оставшиеся видимые​.ods​ вообще есть.​6) У вас​Olya1985​ контекстном меню список​ If End If​ видны нам и​Выкладывайте файл​ умолчанию вставляет значения​ строка видима (т.е.​
​ этот код:​
​ сделок:​

excelworld.ru

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

​ примере – это​​ Нажимаем левой мышкой​ «Только видимые ячейки».​ «Только видимые ячейки».​ ячейки поставим цифру​) вы используете в​solotze​ автоматом выделяются только​: спасибо! у меня​ панелей экранных кнопок,​ Next i End​ не hidden.​Гость​ по порядку во​

​ не отфильтрована).​​Sub PasteToVisible() Dim​… и в нем нужно поставить​ ячейка А15) нажимаем​ ячейку А9, выбираем​ Нажимаем «ОК». Теперь,​Нажимаем «ОК». Затем вставляем​ 600. В ячейку​ работе не офисный​: F5 нашла как​ видимые ячейки, вы​ тоже excel 2003.​ в самом низу​ SubP.S. Мало данных​Igor_Tr​: вот сам файлик​ все скрытые строки​Гость​ copyrng As Range,​ фиксированную скидку в​ «Вставить». Всё. Получилось​ в контекстном меню​ не отменяя выделения,​ как обычно.​ В2 ставим число​ пакет от Microsoft​ функционирует. Высветилось окошко.​ их ctrl+с и​ а еще можно​ пункт «настройка». Выбрать​ — раз! Все​: Sub Копировать_Отфильтрованное() Dim​http://rghost.ru/38132320​ в столбце…а не​: Уважаемые знающие люди…помогите​ pasterng As Range​ 1000 рублей каждому​ так.​ «значения».​ в первой ячейке​Ещё один способ​ 600, затем копируем​ , а Open​ Но нет «выделить»​ куда нужно ctrl+v​ этот пункт добавить​ его.​ что выше можно​ a As Double​в лист «все​ в нужные отфильтрованные,​ плиз…​ Dim cell As​ «Ашану».​
​Как, не копируя, сразу​Нажимаем «ОК». Вуаля. Скопировалось​ столбца (у нас​ вызвать диалоговое окно​

​ его вниз по​​ Office либо LibreOffice..​

​ArkaIIIa​​solotze​ в меню edit.​3) появится окно​ сделат массивом. Но​ Dim c As​
​ районы» в столбец​ побывал и спецвставкой​
​Суть есть список​ Range, i As​
​Фильтруем наш список Автофильтром,​напечатать данные фильтра в​ не только значение​
​ – Е2) вводим​ «Выделение группы ячеек».​ столбцу (тянем за​А рекомендации вам​:​: так и делаю,​

​solotze​​ «Настройка», там на​ я как-то​ Integer Dim r​ «Т» вставить значения​ с галкой «Пропускать​ из около 2000​
​ Long ‘запрашиваем у​

​ оставляя на экране​​ Excel​ видимых строк, но​ формулу, цифру, т.д.​
​ На закладке «Главная»​ правый нижний угол​ дают по MS​solotze​
​ не активна F5​: как в экселе​ вкладке «Команды» два​с массивами не​ As Integer Dim​ из листа «ИЗНОС»​
​ пустые ячейки». НЕ​ строк с огловлениями​ пользователя по очереди​ только «Ашаны». Вводим​
​, смотрите в статье​ и формат ячеек.​ Нажимаем сочетание клавиш​
​ в разделе «Редактирование»​ ячейки В2). Значения​ Office. По сему​
​Повторно. Не «видя»,​Pelena​ скопировать данные без​ списка.​
​ очень. А так​ i As Integer​ из столбца «N»​ ВЫХОДИТ!!!!​ пустыми строками …​ диапазоны копирования и​ нужное значение в​ «Закладка листа Excel​Есть один нюанс​
​ «Ctrl» + «Enter».​ нажимаем на кнопку​

​ скопировались только в​ у вас и​ что у Вас​: F5 — функциональная​ скрытых ячеек​4) в правом​ — чем мог,​
​ Dim EndRow As​как то так​Гость​ и 15 столбцами​ вставки Set copyrng​ первую ячейку и​ «Разметка страницы»» здесь.​- вставлять отфильтрованные​В Excel ячейки​ «Найти и выделить».​ видимые ячейки. Точно​ нет тех самых​

​ там на экране​​ клавиша на клавиатуре.​нашла вот это​ списке выбрать категорию​ тем помог.​ Integer ‘как работает?​

CyberForum.ru

Копирование в экселе (как скопировать без скрытых ячеек)

​ вот!!!​​: Короче никто не​фильтрую по допустим​ = Application.InputBox(«Диапазон копирования»,​
​ протягиваем (копируем за​ Какие способы есть​​ данные не в​ можно выделить цветом​ В появившемся списке​ также можно вставлять​ меню и кнопок,​ происходит — помочь​​ Как она может​ -​ «Правка»​Olya1985​
​ _ ‘ Выделям​Pelena​
​ знает и никто​
​ 5 столбцу, получаю​
​ «Запрос», Type:=8) Set​
​ правый нижний угол​
​ ещё выделить только​
​ строки, где стоит​
​ по поределенному условию,​
​ нажимаем на функцию​ и формулы. Мы​ о которых говорят​
​ Вам очень трудно.​ быть не активна?​

​Выделяете диапазон — F5​​5) в левом​: хорошо. спасибо!​
​ ячейку с нужным​: Файл пока не​
​ не поможет?!?!?​
​ список из 560​ pasterng = Application.InputBox(«Диапазон​ ячейки) вниз:​
​ видимые строки, особенно​ фильтр. Например, у​ которое мы зададим​
​ «Выделение группы ячеек».​
​ в ячейке С2​ и пишут все​ Надергайте скринов и​ArkaIIIa​ — Выделить —​

​ появится список команд​​Семен Казменко​ значением. Далее ОК.​

​ смотрела, но для​​Serge_007​ строк… в соседний​ вставки», «Запрос», Type:=8)​Умный Excel в данном​

​ если их много.​​ нас в примере​​ условным форматированием и​
​ Чтобы​ пишем такую формулу.​solotze​ приложите к сообщению,​

​:​​ Только видимые ячейки​ этой категории.​: Предложенный Вам вариант​
​ ‘Если фильтр уже​ копировать/вставить этот способ​: Я уже ответил.​
​ столбец ПЫТАЮСЬ вставить​ ‘проверяем, чтобы они​

​ случае понимает, что​​ Как вставить данные​​ — не в​ формулой. Смотрите, как​заполнить видимые ячейки в​ =А2*10​
​: igrtsk,​ может попроще будет​solotze​ — Ок. А​
​6) почти в​ такой заумный. Все​

​ задействован — выделяем​​ действительно не пойдет.​Почему у Вас​ новые данные …​ были одинакового размера​ вы хотите ввести​ в отфильтрованные строки,​ строки 1-7, а​ это сделать, в​

​ выделенных столбцах Excel​​Получилось так.​это я уже​ разобраться.​

​Ну, попробуйте тогда​​ дальше уже копируете,​​ самом конце этого​
​ это можно сделать​ любую видимую ячейку.​Эти две таблицы​ не так -​ и получается что​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​ значения именно в​ смотрите в статье​ ниже или на​

​ статье «Закрасить ячейку​​, нажимаем сочетание клавиш​

​Отменим фильтр. Получилась такая​​ поняла. Так я​solotze​ Сервис-Настройка-Команды, в категории​ как обычно​ (см.п.5) списка кнопка​ простым копированием. Для​ _ ‘ Далее​ ведь как-то связаны​ надо разбираться локально​ вставляются данные во​

​ copyrng.Cells.Count Then MsgBox​​ отфильтрованные ячейки и​ «Вставить в видимые​ другом листе, т.д.​:D

​ по условию в​​ «Ctrl» + D.​ таблица.​

​ смогу как то​​: вот что получается​
​ «Правка» кнопка «Выделить​- но где​ «ВыделитьВидемыеЯчейки»​ этого:​

​ по ходу a​​ между собой, может​​Pelena​​ все по порядку​
​ «Диапазоны копирования и​ делает то, что​​ строки в Excel».​​ Если вставим в​ Excel формулой».​ И все выделенные​Формула и цифры вставились​ сделать такое копирование?​
​_Boroda_​ только видимые ячейки».​ все это найти​7) на нее​1) Выделить нужный​ = InputBox(prompt:=»Введите значение​ формулой попробовать найти​: Я так понимаю​

​ скрытие ячейки, а​​ вставки разного размера!»,vbCritical​
​ нужно:​Весьма распространенная ситуация, вопрос​ строки, где стоит​Отбор данных в​

excelworld.ru

​ столбцы заполнятся данными​

Вставка значений/формул, минуя скрытые ячейки

Автор Mclaire, 20.03.2010, 15:57

« назад — далее »

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


Если правильно понял вопрос, то без макроса никак.
Не помешал бы конкретный пример.


ответила по имейлу, была бы очень признательна за помощь


Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


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

1. Сервис — Настройка — Команды — Правка — Выделить видимые ячейки. Для 2003. Для 2007 на память не скажу, но найти не сложно. Вытаскиваем эту кнопку на панель к другим кнопкам. (У меня — см. приложенный рисунок — она находится под словом «данные», но можно в любое другое место). Там она остается жить и при последующем открытии Excelя уже будет на том месте, куда Вы ее вывели.

2. Порядок действий — копируем нужное; выделяем, куда нужно вставить; жмем на кнопу, которую вывели (см. п1); вставляем данные любым из известных способов.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Огромное вам спасибо!!! Работает! Даже не представляете, сколько времени Вы мне сэкономили! УРА!!!!!!!!!!!!!!!!


Что-то я не пойму..
Выделить видимые ячейки можно с помощью:
F5-Выделить…-Выделить видимые ячеки
или нажав Alt+Ж
но это чтобы вытащить или выделить, а чтобы вставить в видимые ячейки это не пройдет.
Прикладываю файл.


Цитата: _Boroda_ от 20.03.2010, 18:55
Если вопрос в том, чтобы вставить денные только в видимые ячейки, то можно обойтись и без макросов:

1. Сервис — Настройка — Команды — Правка — Выделить видимые ячейки. Для 2003. Для 2007 на память не скажу, но найти не сложно. Вытаскиваем эту кнопку на панель к другим кнопкам. (У меня — см. приложенный рисунок — она находится под словом «данные», но можно в любое другое место). Там она остается жить и при последующем открытии Excelя уже будет на том месте, куда Вы ее вывели.

2. Порядок действий — копируем нужное; выделяем, куда нужно вставить; жмем на кнопу, которую вывели (см. п1); вставляем данные любым из известных способов.

Умаляю, скажите, как сделать это в 2016 ЭКСЕЛЕ, я уже все настройки перерыл, ничего не выходит. Только осталось 2003 эксель поставить (((

П,С, Для админов: я офигел регистрироваться!!! Он меня 12 + 33 спрашивает, и прикинь, оказывается я не знаю сколько это будет!!! А капча — это отдельная экзекуция! Всегда фигел от таких сайтов с такой регистрацией (((.


Сначала выделяем весь диапазон, затем
F5 — выделить (про это написано выше)
Или вкладка Главная — Найти и выделить — Выделение группы ячеек

Ну а там уже ставим точку на «только видимые ячейки»

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Все делаю, как написано:
— выделяю столбик снизу (столбец H: 23-33),
— выделяю только видимые строки в верхней таблице, столбец H. (Для наглядности развернул фильтр, что именно они выделены),
— нажимаю CTRL+V и… «Размер копируемой ячейки не соответствует размеру области вставки».
(В приложении скриншот)
Что я делаю ни так???


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

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость…  Мигель Сервантес де Сааведра


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

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

Вставить значения в видимые ячейки с помощью VBA

Вставьте значения в видимые ячейки с помощью команды «Вставить в видимый диапазон». Kutools for Excel хорошая идея3


В 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 , затем появится диалоговое окно, в котором вы можете выбрать значения для копирования. Смотрите скриншот:
док-паста-видимая-ячейка-1

4. После выбора значений щелкните OK, затем появится другое диалоговое окно для выбора диапазона для вставки выбранных данных. Смотрите скриншот:
док-паста-видимая-ячейка-2

5. Нажмите OK. Вы можете видеть только видимые ячейки, в которые вставлены выбранные значения.


Собственно, если вы используете Вставить в видимый диапазон полезности Kutools for Excel — удобный инструмент Excel, вы можете быстро и легко решить проблему вставки значений в видимый диапазон.
док вставить видимую ячейку 6

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите диапазон значений, которые вы хотите скопировать и вставить, затем щелкните Кутулс > Диапазон > Вставить в видимый диапазон > Все or Только вставить значения. Смотрите скриншот:
док вставить видимую ячейку 7

2. Затем Вставить в видимый диапазон появится диалоговое окно и выберите диапазон, в который вы хотите вставить значения. Смотрите скриншот:
док вставить видимую ячейку 8

3. Нажмите OK. Теперь выбранные значения вставляются только в видимый диапазон.


Примечание:
Эта утилита работает как со скрытыми, так и с отфильтрованными строками или столбцами.

Щелкните здесь, чтобы получить более подробную информацию об утилите «Вставить в видимый диапазон».


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

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

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

вкладка kte 201905


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

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

офисный дно

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


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

Хитрости »

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


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

Ни для кого не секрет, что 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 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
ссылки
статистика

Понравилась статья? Поделить с друзьями:
  • Как вставить значения в excel в каждую ячейку
  • Как вставить значение ячейки в excel а не формулу
  • Как вставить значение в ячейку excel по условию
  • Как вставить значение в отфильтрованном списке excel
  • Как вставить значение в excel с другого файла