Как в excel скопировать только видимые ячейки Excelka.ru - все про Ексель

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

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

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

​Смотрите также​ ячейки все равно​mary_mary​ первой ячейке. Excel​ вставить информацию, а​

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

​Чтобы математически объединить значения​Вставка только значений в​Специальная вставка​вычесть​

​Только правила проверки данных.​Выделите ячейки с данными​ чисел.​

  1. ​ действий. Параметры в​​(или​​Ctrl+V​
  2. ​По умолчанию Excel копирует​​ вставляются!​​: Как можно в​​ Online автоматически обновляет​​ затем щелкните команду​ на вашем языке.​​ скопированных данных.​​ копирования и вставки​
  3. ​ том виде, как​​. Имена параметров могут​​Вычитание значений из области​Клавиша R​​ и атрибутами, которые​​Значения и исходное форматирование​
  4. ​ меню​+ C и​​, чтобы вставить диапазон.​​ как видимые, так​
  5. ​anvg​​ excel 2003 скопировать​​ остальные.​​Вставить​​ Эта страница переведена​

​ областей, в поле​ они отображаются в​
​ немного различаться, но​
​ копирования из значений​

​Все содержимое и форматирование​

Копирование и вставка определенного содержимого ячейки

​ требуется скопировать.​​Только значения и атрибуты​Вставка​+ V), будут​Результат:​ и скрытые ячейки.​: feecoos​ данные из одной​Если вы скопировали данные​>​ автоматически, поэтому ее​Задача​Специальная вставка​ ячейках.​ результаты идентичны.​ в области вставки.​ ячеек с использованием​На вкладке​ цвета чисел и​зависит от типа​ скопированы все атрибуты.​

​Урок подготовлен для Вас​ Однако можно скопировать​Файл-пример, что есть,​ таблицы, если в​ из вычисляемых ячеек​Вставить​​ текст может содержать​ ​пропускать пустые ячейки​ ​диалогового окна в​​форматы​ ​Выделите ячейки с данными​ ​умножить​ темы, примененной к​Главная​ размера шрифта.​ данных в выделенных​ Выберите параметр определенных​​ командой сайта office-guru.ru​​ только видимые ячейки.​​ что получить​​ ней есть скрытые​ и хотите вставить​или нажмите клавиши​​ неточности и грамматические​​Позволяет предотвратить замену значений​ группе​Вставка только форматов ячеек.​

​ и атрибутами, которые​Умножение значений из области​

Пункты меню «Вставить»

​ исходным данным.​нажмите кнопку​Форматирование​

​ ячейках:​​ вставки, можно либо​​Источник: http://www.excel-easy.com/examples/copy-visible-cells-only.html​​В этом примере строка​ ​ячейки. Как исправить это?​

​ строки которых не​ только их значения​ CTRL+V.​

​ ошибки. Для нас​​ в области вставки,​​операция​примечания​​ требуется скопировать.​​ вставки на значения​без рамки​Копировать​Все атрибуты форматирования ячеек,​​Пункт меню​​ с помощью параметра​Перевел: Антон Андронов​ 2 скрыта:​

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

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

Перед нами таблица с контрагентами и их долгами.

Фильтруем таблицу по контрагенту «Дикси». Выделяем диапазон ячеек с «В4» по «В6».

На верхней панели настроек активируем закладку «Главная» и ищем блок «Редактирование», нам нужна иконка с изображением бинокль.

Нажав на данную иконку, появляется дополнительное меню, в котором нажимаем на надпись: «Выделение группы ячеек».

На экране отобразиться новая таблица: «Выделение группы ячеек», в которой ставим точку напротив надписи «только видимые ячейки» и нажимаем на кнопку «ОК».

Теперь точно выделены только видимые ячейки, остается сначала нажать «Ctrl+C», а потом в нужном месте нажать «Ctrl+V».

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

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

Читать еще:  Как восстановить excel

Выполните указанные ниже действия.

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

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

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

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

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

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

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

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

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

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

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

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

В общем-то смысл статьи уже, думаю, понятен из названия. Просто чуть-чуть расширю.

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

Для полноты картины, данные макросы лучше назначить на горячие клавиши(в приведенных ниже кодах это делается автоматически при открытии книги с кодом). Для этого приведенные ниже коды необходимо просто скопировать в модуль ЭтаКнига(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.

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

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

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

GreedBeef
Выделяю требуемый столбец, «только видимые ячееки», попытка вставки — «Данные не могут быть вставлены из-за несоответствия формы и размеров области копирования и области вставки»

Сделал как ты описал, но получил другое сообщение: «Данная команда неприменима для несвязных диапазонов».
Нет ли у тебя объединенных ячеек (это вообще источник гемороя при работе с таблицами )?
Вообще, если для вставки выбрать одну ячейку, то данные вставляются. Но все подряд, а не с пропусками!

Что предпринять?
Можно в режиме автофильтра в первой ячейке второго столбца (куда вставляешь) написать формулу =(первая ячейка первого столбца) и скопировать ее на весь второй столбец. Формулы вставятся только в видимые ячейки.
Потом, при желании, можно заменить формулы на значения: снять автофильтр, выделить второй столбец, копировать, Правка — Специальная вставка — значения.

Нет ли у тебя объединенных ячеек (это вообще источник гемороя при работе с таблицами )?
Нет, обычные ячейки

Можно в режиме автофильтра в первой ячейке второго столбца (куда вставляешь) написать формулу =(первая ячейка первого столбца) и скопировать ее на весь второй столбец.

Не получается
Делаю так — автофильтр, выделяю итоговый столбец, Ctrl+G «Выделить только видимые ячейки», в первую итоговую ячейку — относительную формулу ссылки на ячейки с данными =[Книга2]Лист1!B1
Ctrl+Enter — копирую формулу на все выделенные ячейки

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

Читать еще:  Как в файл эксель вложить файл

GreedBeef
Я все же не могу смоделировать у себя ситуацию, когда возникает ошибка, которую ты описал: «Данные не могут быть вставлены из-за несоответствия формы и размеров области копирования и области вставки».

Значит, копируется столбец из таблицы, к которой применен автофильтр, в другую книгу в таблицу, к которой тоже применен автофильтр? И ты хочешь, чтобы каждая видимая ячейка первой таблицы скопировалась в очередную видимую ячейку второй таблицы? Так?
(В общем случае, между соответствующими видимыми ячейками обеих таблиц может быть различное число скрытых ячеек).

На Листе2 в ячейках A1:A10 находятся числа 1. 10.
Делаю все так, как описывал выше, и ожидаю увидеть напротив ИСТИНА — число из списка.
Однако происходит, как на картинке

К сообщению приложены файлы: 1.png, 290×396, 9Кb

Nosorog
Значит, копируется столбец из таблицы, к которой применен автофильтр, в другую книгу в таблицу, к которой тоже применен автофильтр?
Нет

Vic_K
Если копируем с листа с автофильтром и вставляем в лист с автофильтром
Нет

Постараюсь объяснить ещё раз — я копирую данные из обычной таблицы (без автофильтра) в колонку другой таблицы, у которой по одному из столцов применен автофильтр.
Как надо правильно копировать непрерывный диапазон в диапазон, содержащий пустые ячейки только для нужных значений (за исключением скрытых из-за фильтрации)?

Excel 2003 (imho для данного вопроса это не важно)

В листе 1, Там где список уже с автофильтром — рядом в столбце поставьте СТРОКА(А1), скопируйте эту формулу на все значения строк.
Например:
35
39
40
43
70
71
89
101
191
305

Скопируйте получившиеся числа строк.

В листе 2, Специальная вставка — Значения — вставить. — вы получите список строк подряд.

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

Затем в VBA напишите следующее (или подобное — смотрите как вам надо)

В программе надеюсь разберетесь (вставлен мой пример)

Private Sub CommandButton1_Click()

‘считываем значение
ivalue = Worksheets(«Лист2»).Cells(i, 2).Value

For j = 1 To 14
‘находим значение и меняем ячейки рядом
Worksheets(«Лист1»).Cells(ivalue, 6 + j) = Worksheets(«Лист2»).Cells(i, 2 + j)

В результате — получите вставленные значения, которые шли подряд — в листе 2, в автофильтр — который в листе 1

Я справился «вручную».
Рядом со столбцом в который будем вставлять значения протягиваем функцию СТРОКА()
Я использовал СТРОКА()*1111 для того чтобы номер строки не совпал с копируемым значением.
Копируем столбец с номерами строк в соседний со значениями которые нужно перенести столбец (эти два столбца дальше буду называть «таблица1»)
Рядом со столбцом в который будем вставлять значения, где уже протянута функция СТРОКА() протягиваем функция ВПР(тут ячейку с номером строки в соседнем столбце;таблица 1;номер столбца в таблица1 со значениями для переноса; )
Выделяем полностью столбец в котором у нас функция ВПР, нажимаем «Выделить только видимые ячейки», копируем.
Выделяем полностью столбец в который копируем, нажимаем «Выделить только видимые ячейки», «Специальная вставка. «->»значения».

P.S. У меня работало с автофильтром по одному столбцу, с несколькими столбцами не работает — ошибка «Данная команда не работает для несвязных диапазонов» или не вставляет в неотображаемые (не попавшие в фильтр) ячейки.

Скрытый текст:Sub PasteToVisible()
Dim copyrng As Range, pasterng As Range
Dim cell As Range, i As Long

Ссылка на основную публикацию