Данная команда не применима для несвязанных диапазонов excel

 

sofi-leo

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

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

Всем доброго дня!

При попытке копирования строки на 2 листах книги
выдается сообщение:
«Данная команда неприменима для несвязанных диапазонов»
на остальных листах, этой же книги, проблем не возникает.

В чем беда?

 

wowick

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

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

Как и во многих других случаях вся проблема из-за объединенных ячеек.

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

 

sofi-leo

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

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

Как бы не так!
Копирование не производится на ЛЮБОМ участке этих 2 листов.
Т.е. берем «чистую» строку, выделяем — копируем — вставляем — получаем ошибку.

Изменено: sofi-leo29.01.2014 09:33:14

 

wowick

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

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

Смотрите скрытые столбцы

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

 

 Покажите файл wowick, скорее всего прав

Лень двигатель прогресса, доказано!!!

 

sofi

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

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

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

P.S. Файл больно здоровый, сейчас попробую кусочек откусить и выложить

 

sofi

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

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

Выкладываю пример

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

  • Опыт.xls (49 КБ)

 

KuklP

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

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

E-mail и реквизиты в профиле.

У меня все копируется, вставляется. Никаких ошибок.

Я сам — дурнее всякого примера! …

 

чет даже незнаю уменя и просто копируется и вырезается и вставляется между строк

Лень двигатель прогресса, доказано!!!

 

sofi

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

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

Все верно, братцы!
В примере, все работает, а в «жизни» нет!
В «жизни» жмем «добавить пеиод», вставляется новая строка (пустая), поверх копируемой, а значения в нее не копируются, во как!
Причем на всем листе, а не только в таблице.  

 

The_Prist

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

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

Профессиональная разработка приложений для MS Office

В примере все работает — зачем тогда такой пример? Ведь очевидно, что дело именно в файле, а не в каких-то настройках. Что-то там явно влияет на результат копирования-вставки.

P.S. Сам просмотрел файл и код — никаких признаков, указывающих даже на возможность возникновения подобной ошибки.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

sofi

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

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

«В примере все работает — зачем тогда такой пример?»
И то верно! Выкладываю неработающий, урезанный вариант
При загрузке примера, сообщение «При сохранении файла произошла ошибка!»
файл 580 кБ, повторно грузить не получается!

Изменено: sofi29.01.2014 13:20:38

 

Юрий М

Модератор

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

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

#13

29.01.2014 13:25:53

Цитата
При загрузке примера, сообщение «При сохранении файла произошла ошибка!» файл 580 кБ, повторно грузить не получается!

Оно и понятно: Правила не удосужились прочитать.

 

sofi

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

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

Да нет, Юрий!
Просто на форуме года 2 не был и конкретный размер файла забыл (100кБ).
Но и в RARe все равно получается 120 Кб.

 

Юрий М

Модератор

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

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

Если не получается обрезать файл до приемлемых размеров, то я слышал, что существуют такие вещи, как файлообменники. Но учтите: мало желающих туда бегать и разбираться с БОЛЬШИМИ файлами.

 

sofi

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

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

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

 

Юрий М

Модератор

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

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

И где Вы увидели в моём совете намёк на хамство?

 

sofi

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

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

«И где Вы увидели в моём совете намёк на хамство?»
Без комментариев, все будет хорошо!

Поковырялся еще в нерабочем файле, получилось ужать еще, прилагаю

P.S. Прошу прощения, забыл!
Даты периода расчета устанавливаются на листе «Данные ИП»
после чего жмем в разделе «Данные для расчета в ПЖ» кнопку «Просмотр», соответственно включается «Фильтр» с заданными параметрами дат.

Изменено: sofi29.01.2014 14:42:13

 

Z

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

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

Win 10, MSO 2013 SP1

#19

29.01.2014 14:42:05

Цитата
Без комментариев

Без — Плюнуть в колодец и из него просить водицы?! —

http://www.excelworld.ru/forum/5-1079-1#12081

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

wowick

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

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

Не знаю. У меня при фильтре на значении 3400 все замечательно добавилось… Правда при открытии файла написало «циклическая ссылка»…

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

 

The_Prist

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

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

Профессиональная разработка приложений для MS Office

sofi, что-то помогать-то расхотелось. Юрий дал нормальный совет — выложить файл на файлообменник, если урезать не получается. Где тут хамство? Или дельный совет теперь в ранг хамства записан? Тогда я из темы ухожу — дашь совет и хамом станешь…Оно кому надо?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Юрий М

Модератор

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

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

#22

29.01.2014 14:48:22

Цитата
Без комментариев, все будет хорошо!

Нет уж! Сказав «а»,- говорите и «б».  

 

sofi

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

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

«выложить файл на файлообменник, если урезать не получается»
Дык, я урезал и выложил в RARe

 

Юрий М

Модератор

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

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

Хамство моё (намёк на хамство) в ЧЁМ заключается?

 

sofi

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

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

Пожалуйста!
«Если не получается обрезать файл до приемлемых размеров, то я слышал, что существуют такие вещи, как файлообменники. Но учтите: мало желающих туда бегать и разбираться с БОЛЬШИМИ файлами»

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

 

Юрий М

Модератор

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

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

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

 

The_Prist

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

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

Профессиональная разработка приложений для MS Office

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

Иные способы поддержки…выражение тоже то еще. Здесь что — форум помощи пострадавшим от потопа, чтобы моральную поддержку оказывать? Вы ничего не перепутали?

Кстати, в последнем приложенном файле копирование тоже без ошибок работает. Я не беру в расчет тот факт, что у Вас циклические ссылки в файле — они подобной ошибки не вызовут. Может опишите подробно свои действия, которые к ошибке приводят?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

sofi

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

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

Юрий!
Я полагаю, если мы друг друга не поняли, это не повод для закрытия темы.
Если мое высказывание действительно так Вам неприятно, приношу свои извинения, не со зла!

За сим, с уважением, sofi

 

sofi

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

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

#29

29.01.2014 16:13:18

Цитата
Кстати, в последнем приложенном файле копирование тоже без ошибок работает. Может опишите подробно свои действия, которые к ошибке приводят?

Все просто!

Алгоритм работы в следующем:
1. На листе «Данные ИП» в разделе «Данные для расчета в ПЖ» вводим произвольные даты, жмем нопку «Просмотр», соответственно макрос «Фильтра» выводит таблицу с заданными параметрами дат.
2. Если необходимо в сформированной таблице добавит периоды (скажем сделать 6 Апрелей 2012 года) вызываем форму и жмем на кнопку «Добавить период»,
при этом должно происходить НЕ ДОБАВЛЕНИЕ пустой строки сверху активной, а копирование значений из активной во вновь созданную.

Это-то и перестало функционировать, т.е. после активации кнопки «Просмотр» на листе «Данные ИП», и последующем желании «Добавить период»,
пустая строка добавляется, но копирования из предыдущей не происходит!
Если же нажать кнопку фильтра и выбрать «Показать ВСЕ» и произвести туже операцию проблем нет, копирование происходит.

Более того, если взять для копирования любую строку на листе (даже пустую) и не активировать «Показать ВСЕ» в фильтре, копирование также не происходит, а вылазит предупреждение про несвязанные диапазоны!

 

The_Prist

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

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

Профессиональная разработка приложений для MS Office

#30

29.01.2014 16:23:36

Вы упустили один ма-а-а-аленький нюанс: вызов формы. Вы как её вызываете? Я по коду так понял, двойным щелчком по ячеке столбца С. но хотелось услышать подтверждение.
Да и объединенные ячейки присутствуют(столбец А). Хотя лично на моем 2010 это не помешало нормальному копированию — были скопированы просто все строки.
Другой вопрос, если вставка по каким-то причинам будет производиться в имеющиеся объединенные ячейки — тогда ошибка возникнет. Хотя у меня добиться подобного эффекта не получилось, поэтому и прошу описать подробно действия.
Да и копирование непонятно почему должно происходить, если у Вас только Insert используется. Для вставки скопированного применется Paste. Insert только вставляет новые строки.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

Данная команда не применима для несвязных диапазонов 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

Как переместить ячейки в Excel? Перемещение ячеек в пределах листа

Данные, расположенные в ячейке или в диапазоне ячеек, можно перемещать с одного места рабочего листа в другое, используя как прямое перетаскивание мышью, так и кнопки на вкладках ленты, контекстное меню, а также процедуры (макросы) – программы, написанные на языке Visual Basic for Application, сокращенно VBA.

Перемещение с помощью мыши

Простейший способ переместить ячейки с места на место – использовать манипулятор мыши. Для перемещения ячейки на новое место, необходимо выделить нужную ячейку или диапазон, навести курсор мыши на границу выделенного диапазона, чтобы курсор стал наклонной стрелкой с крестиком, как показано на рисунке и при нажатой левой кнопке мыши, перетащить выделенную область на новое место и после этого отпустить кнопку мыши. Если при наведении курсора мыши на границу выделенного диапазона он не превращается в наклонную стрелку с крестиком и делает невозможным перетаскивание ячеек, значит, отключена специальная настройка и ее необходимо включить, щелкнув в верхнем левом углу программы по кнопке «Office» и перейдя в Параметры Excel/Дополнительно. В группе «Параметры правки» необходимо установить флажок возле пункта «Разрешить маркеры заполнения и перетаскивание ячеек».

Вырезать и вставить

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

Сочетание клавиш для вырезания – Ctrl+X или Shift+Delete. Сочетание клавиш для вставки – Ctrl+V или Shift+Insert.

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

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

Все эти и аналогичные задачи легко решаются при помощи надстройки для Excel.

Надстройка для быстрого перемещения ячеек

Для быстрого переноса ячеек с одного места в другое создана надстройка для Excel, а кнопка, запускающая эту надстройку выводится на отдельную вкладку ленты Excel либо на отдельную панель инструментов (в зависимости от версии Excel). Нажатие кнопки вызывает диалоговое окно, в котором пользователь может выбрать нужные ему условия, значения, диапазоны, направление перемещения и так далее.
Перемещение производится автоматически при помощи макроса. В вышеприведенном примере были применены следующие условия: найти все ячейки с числовыми значениями, содержащими «3100» и переместить их на 1 столбец влево и на 1 строку вверх.

1. одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов excel;

2. задавать искомое значение для ячеек;

3. задавать диапазон для поиска;

4. выбирать одно из двенадцати условий для значений ячеек;

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

а) перемещать ячейки на заданное количество строк вверх или вниз;

б) перемещать ячейки на заданное количество столбцов влево или вправо;

в) перемещать ячейки одновременно вверх/вниз и влево/вправо;

г) перемещать ячейки в заданный столбец;

д) перемещать ячейки в заданную строку.

Блог активной пенсионерки.

суббота, 23 августа 2014 г.

Microsoft Excel. Выделение ячеек. Связные и несвязные диапазоны ячеек.

Каждая ячейка в таблице имеет свой адрес. Он обозначается номером столбца и номером строки.

Столбцы в таблице обозначаются буквой С и цифрами.
Ряды — обозначаются буквой R и цифрами.

Например ячейка , расположенная в 5-м ряду, во втором столбце имеет адрес: R5C2.

Этот адрес показан в поле имени.

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

Ячейка становится активной и туда можно помещать информацию.

Чтобы выделить ряд, нужно щелкнуть на значении ряда.

Чтобы выделить столбец, нужно щелкнуть на значении столбца.

Выделенная совокупность ячеек называется диапазоном.
Диапазоны бывают связные и несвязные.

Связные диапазоны имеют одну выделенную границу. В правом нижнем углу связной ячейки находится маркер.

Несвязные – выделенные не смежные ячейки.

Щелкните левой кнопкой мыши на требуемой ячейке и не отпуская кнопки, протяните вправо и вниз. Отпустите кнопку.
Вы получите связный диапазон ячеек.

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

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

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

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

Можно создать связный диапазон с помощью клавиши Shift и клавиши стрелка.

Поместите курсор в ячейку, нажмите клавишу Shift и несколько раз щелкните клавишей стрелка вправо и потом кнопкой стрелка вниз или наоборот.

Редактирование листов

К основным операциям редактирования можно отнести:

  • · редактирование содержимого ячейки;
  • · очистка ячеек;
  • · заполнение, копирование и перемещение ячеек;
  • · вставка и удаление ячеек, строк, столбцов;
  • · поиск и замена данных;
  • · проверка орфографии;
  • · закрепление областей таблицы;
  • · выявление зависимостей и другие.

Редактирование содержимого ячейки. Наиболее простым и удобным способом редактирования является ввод новых данных поверх старых. При этом предыдущее содержимое автоматически удаляется и записывается новое.

Если необходимо произвести некоторые изменения данных (изменить текст или формулу), то сначала следует выделить ячейку, а затем отредактировать содержимое ячейки либо в строке формул, либо в самой ячейке, предварительно нажав клавишу F2 или дважды щелкнув мышкой по ячейке. При редактировании используются клавиши Del, Backspace .

Очистка ячеек. Ячейка имеет многослойную структуру: в верхнем слое хранится содержимое ячейки (число, текст, формула), затем форматы и примечания. Очищать можно отдельные слои ячейки или все сразу. Операция очистки ячеек напоминает работу с ластиком, то есть после ее очистка ячейки остаются на рабочем листе.

Для очистки только содержимого ячейки следует нажать клавишу Delete или выбрать одноименную команду в контекстном меню.

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

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

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

При использовании буфера обмена необходимо выполнить следующие действия:

  • · выделить исходные блок ячеек для копирования (перемещения);
  • · выбрать соответственно команды Копировать (Вырезать) из контекстного меню.
  • · установить курсор в то место, куда идет копирование или перемещение;
  • · выполнить команду Вставить.

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

Копирование и перемещение с помощью мыши осуществляется двумя способами: с использование левой либо правой кнопок мыши (для правшей).

В первом способе необходимо зацепить выделенные ячейки левой кнопкой мыши и перетащить их нужное место. Если при перетаскивании под указатель мыши отобразится символ «+» — плюс, то будет выполнена операция копирования, если символ перечеркнутая окружность — то перемещение. В ином случае, для принудительного выполнения операции копирования следует дополнительно нажать клавишу Ctrl, а для перемещения — Shift.

При использовании другого способа необходимо с помощью правой кнопки мыши перетащить выделенные ячейки в место назначения, затем отпустить правую кнопку и в открывшемся меню выбрать одну из команд — Копировать или Переместить.

Правила вырезания и вставки:

  • 1. Выделенная область должна быть прямоугольным блоком ячеек. Если будет выделено несколько диапазонов, то появится сообщение об ошибке: Данная команда не применима для несвязных диапазонов. Выделите один диапазон и снова выполните команду.
  • 2. При использовании команды Вырезать вставка осуществляется только один раз. Для вставки выделенных данных в несколько мест используется команда Копировать.
  • 3. При выделении места, куда идет вставка, необязательно выделять весь диапазон. Достаточно указать верхнюю, левую ячейку, начиная с которой идет вставка. Если выделять область вставки, то она должна иметь тот же размер и форму, что и вырезанная область.
  • 4. При использовании команды Вставить Excel замещает содержимое и форматы во всех ячейках области вставки, т.е. старая информация стирается.

Вставка и удаление ячеек, строк столбцов, листов. Перед вставкой сначала необходимо выделить ячейки, строки или столбцы. Затем выбрать команды Ячейка, Строка, Столбец во вставке Главная — Ячейки или команду Добавить ячейки в контекстном меню. При этом в диалоговом окне необходимо указать объект для вставки. Следует помнить, что вставка строк и столбцов производится выше и левее текущей ячейки.

Если вставляются ячейки, то в диалоговом окне Добавление ячеек задается направление смещения прилегающих ячеек (команды: добавить ячейки со сдвигом вправо или вниз).

Удаление выделенных объектов выполняется командой Удалить во вставке ячейки или контекстном меню. После этого в диалоговом окне Удаление ячеек выбирается объект для удаления и/или направление смещения прилегающих ячеек.

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

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

Для закрепления областей таблицы сначала устанавливаем курсор в ячейку и выбираем вкладка Вид — Окно команду Закрепить области. Закрепление области будет производиться левее и выше текущей ячейки. Закрепленная область остается неподвижной при перемещении курсора.

Для отмены закрепления областей следует вкладка Вид — Окно выбрать команду Снять закрепление областей.

Excel. Формулы. Копирование формул

Копирование формул — одна из наиболее распространенных операций при работе в Excel. Неудивительно, что существует сразу несколько способов ее осуществления. Поговорим о них подробнее.

Способ 1. «Протягивание» формулы

Способ, известный практически каждому, кто когда-либо работал в Excel. Для копирования формулы в соседние ячейки необходимо активировать ячейку с формулой, затем навести курсор на правый нижний угол ячейки (курсор при этом примет вид черного крестика), зажать левую кнопку мыши и «протянуть» формулу в нужном направлении (вверх, вниз, влево или вправо).

При использовании этого метода будет скопирована не только формула, но и всё форматирование ячейки (заливка, границы, условное форматирование и т.д.). Минусом метода является невозможность копирования в несмежные ячейки («протянуть» формулу можно только на соседние столбцы и строки). Если выделить несколько ячеек и протянуть — то копироваться будет весь диапазон.

Чтобы скопировать только формулы (без форматов), протягивание нужно осуществлять не левой, а правой кнопкой мыши. Тогда Excel выдаст контекстное меню, в котором можно указать, что именно нужно копировать: всё, только значения (этот пункт копирует и формулы) или только форматы.

Если протянуть ячейки не получается, то убедитесь, что в параметрах Excel не была отключена такая возможность. Файл — Параметры — Дополнительно — галочка напротив «Разрешить маркеры заполнения и перетаскивания ячеек» должна быть активирована.

Способ 2. Использование команды «Заполнить»

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

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

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

Способ 3. Двойной клик по маркеру автозаполнения

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

К сожалению, достоинства этого способа нивелируются следующими недостатками (которые, тем не менее, не так критичны при правильной организации работы с данными и «классическом» ведении баз и таблиц):

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

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

Способ 4. Копирование с помощью буфера обмена

Классический способ копирования с использование команд Ctrl+C (копировать) и Ctrl+V (вставить). Выделяете ячейку или диапазон, копируете, выделяете диапазон вставки (можно несмежный, можно несколько) и вставляете. В результате вставится и формула, и форматирование.

Способ 5. Копирование с использованием Специальной вставки

Способ аналогичный предыдущему, с той лишь разницей, что вставка осуществляется не с помощью клавиш Ctrl+V, а с применением Специальной вставки (Ctrl+Alt+V или клик правой кнопкой мыши — «Специальная вставка»).

Главное достоинство — можно выбрать вариант вставки формулы. Например, скопировать их без форматирования, или вставить только значения.

Некоторые варианты вставки доступны по клику правой кнопкой мыши в виде пиктограмм быстрого действия.

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

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

Видеоверсию данной статьи смотрите на нашем канале на YouTube

Чтобы не пропустить новые уроки и постоянно повышать свое мастерство владения Excel — подписывайтесь на наш канал в Telegram Excel Everyday

Куча интересного по другим офисным приложениям от Microsoft (Word, Outlook, Power Point, Visio и т.д.) — на нашем канале в Telegram Office Killer

Вопросы по Excel можно задать нашему боту обратной связи в Telegram @ExEvFeedbackBot

Вопросы по другому ПО (кроме Excel) задавайте второму боту — @KillOfBot

Хитрости »

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


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

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


Копируем только видимые ячейки и вставляем только в видимые
По многочисленным просьбам доработал код. Теперь возможно копировать любые диапазоны: со скрытыми строками, скрытыми столбцами и вставлять скопированные ячейки также в любые диапазоны: со скрытыми строками, скрытыми столбцами. Работает совершенно так же, как и предыдущий: нажатием клавиш 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
ссылки
статистика

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    Об использовании раздела

    Обращение «рекламодателям» со статусом Newbie

    Не пытайтесь использовать форум, ничего не дав взамен. Форум — это сообщество, направленное на взаимопомощь и на получение взаимной выгоды. Получение исключительно личной выгоды — считается моветоном. Темы с подобным контентом скорее всего улетят в «Корзину». Не тратьте электричество попусту.

    Использование раздела полностью регламентируется действующими Правилами форума.

    Модератор JoeUser

    >
    Excel гонит

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему

      


    Сообщ.
    #1

    ,
    16.11.13, 18:48

      Законченный оптимист

      *******

      Рейтинг (т): 117

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

      Прикреплённый файлПрикреплённый файлClipboard01.png (20,31 Кбайт, скачиваний: 638)

      Master

      MIF



      Сообщ.
      #2

      ,
      16.11.13, 20:45

        Попробуй перенести ячейки столбца, а потом удалить столбец.

        Guru

        Jin X



        Сообщ.
        #3

        ,
        17.11.13, 07:59

          Законченный оптимист

          *******

          Рейтинг (т): 117

          MIF, как перенести? Скопировать? Я ж написал:

          Цитата Jin X @ 16.11.13, 18:48

          Копировать-Вставить-УдалитьСтарый не могу, т.к. все формулы полетят.


          sad but true



          Сообщ.
          #4

          ,
          17.11.13, 09:18

            Нене не. Так и должно быть. Вставляй как текст.


            Besha



            Сообщ.
            #5

            ,
            17.11.13, 10:38

              Цитата Jin X @ 16.11.13, 18:48

              Выделяю столбец, жму «вырезать», в другое место — вставить.
              Пишет — «Данная команда неприменима для несвязных диапазонов. Выберите один диапазон и снова выберите команду.»

              тот столбец ,что ты пытаешься вырезать это данные подсчитанные по формулам, тут надо делать специальную вставку и как текст (как сказали выше) вставлять или что-то такое давно эксель не щупал :D

              Guru

              Jin X



              Сообщ.
              #6

              ,
              18.11.13, 19:58

                Законченный оптимист

                *******

                Рейтинг (т): 117

                Вырезать и вставить как текст невозможно. Можно только скопировать и вставить как текст. И что с того? Формулы-то как я буду исправлять потом?

                p.s. Он даже просто по Copy-Paste не копируется!!!! Пришлось просто вставлять столбец, форматировать его как надо и потом менять формулы….
                А есть ведь ещё пару столбцов, которые нужно перенести, и от них ой как много формул засисит!!! Блииииииииииин….

                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                0 пользователей:

                • Предыдущая тема
                • Программное обеспечение
                • Следующая тема

                Рейтинг@Mail.ru

                [ Script execution time: 0,0272 ]   [ 17 queries used ]   [ Generated: 15.04.23, 08:24 GMT ]  

                Данные, расположенные в ячейке или в диапазоне ячеек, можно перемещать с одного места рабочего листа в другое, используя как прямое перетаскивание мышью, так и кнопки на вкладках ленты, контекстное меню, а также процедуры (макросы) – программы, написанные на языке Visual Basic for Application, сокращенно VBA.

                Перемещение с помощью мыши

                Простейший способ переместить ячейки с места на место – использовать манипулятор мыши. Для перемещения ячейки на новое место, необходимо выделить нужную ячейку или диапазон, навести курсор мыши на границу выделенного диапазона, чтобы курсор стал наклонной стрелкой с крестиком, как показано на рисунке peremeschenie-yacheek-myshyu и при нажатой левой кнопке мыши, перетащить выделенную область на новое место и после этого отпустить кнопку мыши. Если при наведении курсора мыши на границу выделенного диапазона он не превращается в наклонную стрелку с крестиком и делает невозможным перетаскивание ячеек, значит, отключена специальная настройка и ее необходимо включить, щелкнув в верхнем левом углу программы по кнопке «Office» и перейдя в Параметры Excel/Дополнительно. В группе «Параметры правки» необходимо установить флажок возле пункта «Разрешить маркеры заполнения и перетаскивание ячеек».

                Вырезать и вставить

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

                как вырезать ячейки в Excel

                Сочетание клавиш для вырезания – Ctrl+X или Shift+Delete. Сочетание клавиш для вставки – Ctrl+V или Shift+Insert.

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

                данная команда неприменима для несвязных диапазонов

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

                перенос ячеек по условию и значениюВсе эти и аналогичные задачи легко решаются при помощи надстройки для Excel.

                Надстройка для быстрого перемещения ячеек

                Для быстрого переноса ячеек с одного места в другое создана надстройка для Excel, а кнопка, запускающая эту надстройку выводится на отдельную вкладку ленты Excel либо  на отдельную панель инструментов (в зависимости от версии Excel). Нажатие кнопки вызывает диалоговое окно, в котором пользователь может выбрать нужные ему условия, значения, диапазоны, направление перемещения и так далее.
                Перемещение производится автоматически при помощи макроса. В вышеприведенном примере были применены следующие условия: найти все ячейки с числовыми значениями, содержащими «3100» и переместить их на 1 столбец влево и на 1 строку вверх.

                С этой надстройкой появляется возможность:

                1. одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов excel;

                2. задавать искомое значение для ячеек;

                3. задавать диапазон для поиска;

                4. выбирать одно из двенадцати условий для значений ячеек;

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

                а) перемещать ячейки на заданное количество строк вверх или вниз;

                б) перемещать ячейки на заданное количество столбцов влево или вправо;

                в) перемещать ячейки одновременно вверх/вниз и влево/вправо;

                г) перемещать ячейки в заданный столбец;

                д) перемещать ячейки в заданную строку.

                Другие материалы по теме:

                1062 / 506 / 137

                Регистрация: 27.02.2013

                Сообщений: 1,451

                1

                Выделение произвольного диапазона для копирования

                15.04.2014, 20:10. Показов 8534. Ответов 5


                Студворк — интернет-сервис помощи студентам

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

                Миниатюры

                Выделение произвольного диапазона для копирования
                 



                0



                3217 / 966 / 223

                Регистрация: 29.05.2010

                Сообщений: 2,085

                15.04.2014, 20:14

                2

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



                1



                1062 / 506 / 137

                Регистрация: 27.02.2013

                Сообщений: 1,451

                15.04.2014, 20:15

                 [ТС]

                3

                Я так делаю при помощи макроса,но долго получается
                В макросе есть условие,что если ячейка не окрашена,то она не копируется,остальные копируются поочередно



                0



                3217 / 966 / 223

                Регистрация: 29.05.2010

                Сообщений: 2,085

                15.04.2014, 20:29

                4

                Я не знаю зачем так делать, но может лучше создать лист-шаблон и при необходимости его копировать с новым именем.



                1



                1062 / 506 / 137

                Регистрация: 27.02.2013

                Сообщений: 1,451

                15.04.2014, 20:34

                 [ТС]

                5

                Каждый раз область выделения разная и цвет ячеек различный.
                К сожалению,я в VBA не силён.Однако есть мысль,как это сделать.
                Необходимо выделить диапазон как обычно,а затем что бы программа внутри этого диапазона сама анализировала построчно,т.е. создавала бы диапазоны копирования от первой слева цветной ячейки до последней цветной в данной строке и т.д.
                Может так будет быстрее?Или то на то и выйдет,пока программа будет это всё определять?



                0



                1062 / 506 / 137

                Регистрация: 27.02.2013

                Сообщений: 1,451

                15.04.2014, 20:45

                 [ТС]

                6

                Необходимо для этого



                0



                Понравилась статья? Поделить с друзьями:
              • Далекие странники word of honor
              • Дайте характеристику программы ms excel
              • Дайте тесты для word
              • Дайте ссылку на microsoft word
              • Дайте ссылку на excel