sofi-leo Пользователь Сообщений: 133 |
Всем доброго дня! При попытке копирования строки на 2 листах книги В чем беда? |
wowick Пользователь Сообщений: 972 |
Как и во многих других случаях вся проблема из-за объединенных ячеек. Если автоматизировать бардак, то получится автоматизированный бардак. |
sofi-leo Пользователь Сообщений: 133 |
Как бы не так! Изменено: sofi-leo — 29.01.2014 09:33:14 |
wowick Пользователь Сообщений: 972 |
Смотрите скрытые столбцы Если автоматизировать бардак, то получится автоматизированный бардак. |
Покажите файл wowick, скорее всего прав Лень двигатель прогресса, доказано!!! |
|
sofi Пользователь Сообщений: 133 |
Скрытых столбцов нет, проверил. P.S. Файл больно здоровый, сейчас попробую кусочек откусить и выложить |
sofi Пользователь Сообщений: 133 |
Выкладываю пример Прикрепленные файлы
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
У меня все копируется, вставляется. Никаких ошибок. Я сам — дурнее всякого примера! … |
чет даже незнаю уменя и просто копируется и вырезается и вставляется между строк Лень двигатель прогресса, доказано!!! |
|
sofi Пользователь Сообщений: 133 |
Все верно, братцы! |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
В примере все работает — зачем тогда такой пример? Ведь очевидно, что дело именно в файле, а не в каких-то настройках. Что-то там явно влияет на результат копирования-вставки. P.S. Сам просмотрел файл и код — никаких признаков, указывающих даже на возможность возникновения подобной ошибки. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
sofi Пользователь Сообщений: 133 |
«В примере все работает — зачем тогда такой пример?» Изменено: sofi — 29.01.2014 13:20:38 |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
#13 29.01.2014 13:25:53
Оно и понятно: Правила не удосужились прочитать. |
||
sofi Пользователь Сообщений: 133 |
Да нет, Юрий! |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
Если не получается обрезать файл до приемлемых размеров, то я слышал, что существуют такие вещи, как файлообменники. Но учтите: мало желающих туда бегать и разбираться с БОЛЬШИМИ файлами. |
sofi Пользователь Сообщений: 133 |
Какие-то странные у Вас советы, Юрий, на грани банального хамства. |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
И где Вы увидели в моём совете намёк на хамство? |
sofi Пользователь Сообщений: 133 |
«И где Вы увидели в моём совете намёк на хамство?» Поковырялся еще в нерабочем файле, получилось ужать еще, прилагаю P.S. Прошу прощения, забыл! Изменено: sofi — 29.01.2014 14:42:13 |
Z Пользователь Сообщений: 6111 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 |
Не знаю. У меня при фильтре на значении 3400 все замечательно добавилось… Правда при открытии файла написало «циклическая ссылка»… Если автоматизировать бардак, то получится автоматизированный бардак. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
sofi, что-то помогать-то расхотелось. Юрий дал нормальный совет — выложить файл на файлообменник, если урезать не получается. Где тут хамство? Или дельный совет теперь в ранг хамства записан? Тогда я из темы ухожу — дашь совет и хамом станешь…Оно кому надо? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
#22 29.01.2014 14:48:22
Нет уж! Сказав «а»,- говорите и «б». |
||
sofi Пользователь Сообщений: 133 |
«выложить файл на файлообменник, если урезать не получается» |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
Хамство моё (намёк на хамство) в ЧЁМ заключается? |
sofi Пользователь Сообщений: 133 |
Пожалуйста! Меня покоробило общее содержание данной фразы, особенно в части «мало желающих бегать и разбираться» |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
Ну а меня оскорбило обвинение в хамстве, которого и в помине нет. Тему закрываю. Если есть желание извиниться, то это можно сделать через личное сообщение.. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
Так разъясните необразованным: если действительно мало кому хочется на сторонний ресурс переходить для скачивания файла и разбираться именно в большом файле — как в Вашем присутствии об этом упоминать? Предложите свой вариант фразы, который будет звучать правдиво и не будет создавать у Вас впечатления о хамском отношении к Вам(где Вы его увидели все равно не понял. Ваше плохое настроение не надо проецировать на тех, кто хочет Вам помочь. Там без помощи останетесь и плохое настроение усугубится только). Иные способы поддержки…выражение тоже то еще. Здесь что — форум помощи пострадавшим от потопа, чтобы моральную поддержку оказывать? Вы ничего не перепутали? Кстати, в последнем приложенном файле копирование тоже без ошибок работает. Я не беру в расчет тот факт, что у Вас циклические ссылки в файле — они подобной ошибки не вызовут. Может опишите подробно свои действия, которые к ошибке приводят? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
sofi Пользователь Сообщений: 133 |
Юрий! За сим, с уважением, sofi |
sofi Пользователь Сообщений: 133 |
#29 29.01.2014 16:13:18
Все просто! Алгоритм работы в следующем: Это-то и перестало функционировать, т.е. после активации кнопки «Просмотр» на листе «Данные ИП», и последующем желании «Добавить период», Более того, если взять для копирования любую строку на листе (даже пустую) и не активировать «Показать ВСЕ» в фильтре, копирование также не происходит, а вылазит предупреждение про несвязанные диапазоны! |
||
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#30 29.01.2014 16:23:36 Вы упустили один ма-а-а-аленький нюанс: вызов формы. Вы как её вызываете? Я по коду так понял, двойным щелчком по ячеке столбца С. но хотелось услышать подтверждение. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Данная команда не применима для несвязных диапазонов 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) —Insert —Module. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt+F8 -выделяем имя макроса —Выполнить(Run).
Для полноты картины, данные макросы лучше назначить на горячие клавиши(в приведенных ниже кодах это делается автоматически при открытии книги с кодом). Для этого приведенные ниже коды необходимо просто скопировать в модуль ЭтаКнига(ThisWorkbook):
Option Explicit 'Отменяем назначение горячих клавиш перед закрытием книги Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "^q": Application.OnKey "^w" End Sub 'Назначаем горячие клавиши при открытии книги Private Sub Workbook_Open() Application.OnKey "^q", "My_Copy": Application.OnKey "^w", "My_Paste" End Sub
Теперь можно скопировать нужный диапазон нажатием клавиш Ctrl+q, а вставить его в отфильтрованный — Ctrl+w.
Если необходимо переносить только значения(т.е. если в ячейке будут формулы, то в итоге будет перенесен результат вычисления этой формулы), надо заменить строку в коде:
rCell.Copy ActiveCell.Offset(li, le)
на такую:
ActiveCell.Offset(li, le) = rCell.Value
Скачать пример
Tips_Macro_CopyPasteInHiddenRows.xls (46,5 KiB, 14 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
ссылки
статистика
|
|
|
Об использовании раздела
Обращение «рекламодателям» со статусом Newbie
Не пытайтесь использовать форум, ничего не дав взамен. Форум — это сообщество, направленное на взаимопомощь и на получение взаимной выгоды. Получение исключительно личной выгоды — считается моветоном. Темы с подобным контентом скорее всего улетят в «Корзину». Не тратьте электричество попусту.
Использование раздела полностью регламентируется действующими Правилами форума.
Модератор JoeUser
Excel гонит
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Законченный оптимист Рейтинг (т): 117 |
Выделяю столбец, жму «вырезать», в другое место — вставить. |
MIF |
|
Попробуй перенести ячейки столбца, а потом удалить столбец. |
Jin X |
|
Законченный оптимист Рейтинг (т): 117 |
MIF, как перенести? Скопировать? Я ж написал: Цитата Jin X @ 16.11.13, 18:48 Копировать-Вставить-УдалитьСтарый не могу, т.к. все формулы полетят. |
sad but true |
|
Нене не. Так и должно быть. Вставляй как текст. |
Besha |
|
Цитата Jin X @ 16.11.13, 18:48 Выделяю столбец, жму «вырезать», в другое место — вставить. тот столбец ,что ты пытаешься вырезать это данные подсчитанные по формулам, тут надо делать специальную вставку и как текст (как сказали выше) вставлять или что-то такое давно эксель не щупал |
Jin X |
|
Законченный оптимист Рейтинг (т): 117 |
Вырезать и вставить как текст невозможно. Можно только скопировать и вставить как текст. И что с того? Формулы-то как я буду исправлять потом? p.s. Он даже просто по Copy-Paste не копируется!!!! Пришлось просто вставлять столбец, форматировать его как надо и потом менять формулы…. |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Программное обеспечение
- Следующая тема
[ Script execution time: 0,0272 ] [ 17 queries used ] [ Generated: 15.04.23, 08:24 GMT ]
Данные, расположенные в ячейке или в диапазоне ячеек, можно перемещать с одного места рабочего листа в другое, используя как прямое перетаскивание мышью, так и кнопки на вкладках ленты, контекстное меню, а также процедуры (макросы) – программы, написанные на языке 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. определять направление перемещения для ячеек, удовлетворяющих заданным условиям и значениям:
а) перемещать ячейки на заданное количество строк вверх или вниз;
б) перемещать ячейки на заданное количество столбцов влево или вправо;
в) перемещать ячейки одновременно вверх/вниз и влево/вправо;
г) перемещать ячейки в заданный столбец;
д) перемещать ячейки в заданную строку.
Другие материалы по теме:
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 |
Каждый раз область выделения разная и цвет ячеек различный.
0 |
1062 / 506 / 137 Регистрация: 27.02.2013 Сообщений: 1,451 |
|
15.04.2014, 20:45 [ТС] |
6 |
Необходимо для этого
0 |