Несвязанные диапазоны в excel при копировании

Перемещение и копирование ячеек и их содержимого

​Смотрите также​​Sub qwert()​ Dim cell As​ Николая я уже​ надо.​ not empty, warn​ моем примере нужно​Ju_Lets​ не очень​требуется из одной​ сожалению с макросами​На вкладке​ со стрелками переместиться​Главная​Если часть ячеек, строк​Для перемещения ячейки или​Буфер обмена​Примечание:​Dim wb As​ Range, i As​ поблагодарил.​

​KuklP​ user If NonEmptyCellCount​ выделить диапазон А358:Q444​​: Добрый день!​​Вопрос: как передать​​ книги выбрать и​​ не знаю как​​Главная​​ в другую ячейку,​в группе​ или столбцов на​ диапазона ячеек поместите​выполните одно из​ Мы стараемся как можно​

​ Workbook​ Long ‘запрашиваем у​Просто напоследок выложил​: Там переменная ,​ < > 0​

​Размер отфильтрованного диапазона​Есть таблица с​ в переменную номер​ скопировать в другую​​ обращаться.​​в группе​​ сначала нажмите клавишу​​Буфер обмена​

​ листе не отображается,​

  1. ​ указатель на границу​ указанных ниже действий.​ оперативнее обеспечивать вас​

  2. ​Set wb =​ пользователя по очереди​

  3. ​ каким дурацким путем​ c As Range​Указатель перемещения​ Then _ If​ постоянно меняется.​ данными, есть столбцы​

​ строки активной ячейки?{/post}{/quote}​ несвязанный диапазон ячеек​МВТ​

  1. ​Буфер обмена​ ВВОД, чтобы завершить​

  2. ​щелкните стрелку под​​ можно скопировать все​​ выделенного фрагмента. Когда​​Чтобы переместить ячейки, нажмите​ Вырезать​ актуальными справочными материалами​ Workbooks.Add(1)​

  3. ​ диапазоны копирования и​пошел я сам.​ лишняя, можно удалить.​

  4. ​ MsgBox(«Overwrite existing data?»,​​Спасибо.​​ с месяцами 13​​И ещё вопрос:​ Вставить​ (построчно, но за​: А как Вы​

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

  1. ​ на вашем языке.​Dim n As​

  2. ​ вставки Set copyrng​​Читайте предыдущие сообщения.​​Мур​

  3. ​ vbQuestion + vbYesNo,​​Dima S​​ года и следующие​

Перемещение и копирование ячеек

  1. ​ как копировать не​ исключением некоторых столбцов)​

    ​ этот диапазон выделяете?​

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

    Изображение ленты Excel

    • ​ Эта страница переведена​ Name​​ = Application.InputBox(«Диапазон копирования»,​ Изображение кнопки​Вам тоже спасибо!​

      ​: Приветствую всех участников!​​ _ «Copy Multiple​: файл с примером.​

    • ​ столбцы с месяцами​ в буфер обмена,​​алгоритм вижу такой:​ Значок кнопки​justirus​

      ​Чтобы переместить ячейки, нажмите​​При вставке скопированных данных​и выберите вариант​

  3. ​ скопировать только отображаемые​, перетащите ячейку​

    ​.​​ автоматически, поэтому ее​For Each n​ «Запрос», Type:=8) Set​KuklP​Вопрос к макросоведам​ Selection») < >​на пальцах никто​ 14 года. Делаем​ а в массив?​

  4. ​1. просим выделить​​: Зажимаете Ctrl и​​ кнопку​​ можно выполнить любое​​Специальная вставка​​ итоговые данные на​ Изображение кнопки​ или диапазон ячеек​

    ​Сочетание клавиш​​ текст может содержать​ In ThisWorkbook.Names​

​ pasterng = Application.InputBox(«Диапазон​​: Здравствуйте, Мур. И​

  • ​ или просто знающим​ vbYes Then Exit​ не сделает (разве​ отбор по нужным​Igor67​ ячейку в строке​

  • ​ выделяете нужные ячейки,​Вырезать​ из следующих действий:​.​ листе со структурой.​

  • ​ в новое расположение.​     Можно также нажать клавиши​ неточности и грамматические​wb.Names.Add Name:=n.Name, RefersTo:=Replace(n.RefersTo,​​ вставки», «Запрос», Type:=8)​ Изображение кнопки​ Вам спасибо за​ ребятам.​​ Sub ‘ Copy​​ очень уж помогливые)​​ критериям и соответственно​​: Ваша задача как​

  • ​ (с которой начнём​ потом копируете и​.​​вставить только параметры форматирования​​Установите флажок​Выделите ячейки, которые вы​Чтобы скопировать ячейки или​ CTRL+X.​​ ошибки. Для нас​​ ThisWorkbook.Sheets(1).Name, wb.Sheets(1).Name)​ ‘проверяем, чтобы они​ аккуратность. Я уже​Необходимо скопировать диапазон​ and paste each​​Макс​​ ненужные нам строки​​ то не понятно​​ вставку) в книге​​ вставляете куда нужно.​​Сочетание клавиш​​ ячейки, такие как​​пропускать пустые ячейки​​ хотите скопировать.​ диапазон ячеек, поместите​​Чтобы скопировать ячейки, нажмите​

Перемещение и копирование ячеек с помощью мыши

​ важно, чтобы эта​Next​ были одинакового размера​ извинился за свою​ с одного листа​

  1. ​ area For i​: извините, забыл прикрепить.​ скрываются. Получившийся результат​

    ​ выглядит, поэтому даже​

  2. ​ куда будем копировать​Ответил как понял,​

    • ​     Можно также нажать клавиши​ цвет текста или​.​Выделение ячеек и диапазонов​ указатель на границу​ кнопку​Указатель перемещения Excel​ статья была вам​End Sub​ If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <>​

    • ​ невнимательнось от Дата:​ на другой, при​ = 1 To​ Вот.​ из 13 года​ не буду ввязываться…​ (например ячейка G5​Указатель копирования​ без примера не​ CTRL+X.​ цвет заливки (но​

​Дважды щелкните ячейку с​​На вкладке​ выделенного фрагмента, удерживая​Копировать​ полезна. Просим вас​

​To GIG_ant​ copyrng.Cells.Count Then MsgBox​ Понедельник, Сегодня, 04:34​ этом исходный лист​ NumAreas RowOffset =​Все_просто​ нам нужно скопировать​Макросов копирования данных​ в книге1)​ понятно, что именно​Чтобы скопировать ячейки, нажмите​ не содержимое ячеек);​ данными, которые нужно​

​Главная​ нажатой клавишу CTRL.​.​ уделить пару секунд​Если не ошибаюсь,​ «Диапазоны копирования и​ | Сообщение №​должен быть скрыт.​

Вставка скопированных и перемещенных ячеек между существующими ячейками

  1. ​ SelAreas(i).Row — TopRow​: Не проверял код,​ в 14 год,​ из книги в​

    ​2. запрашиваем первую​

  2. ​ вы имеете ввиду.​​ кнопку​​преобразовать формулы в ячейках​​ переместить или скопировать.​​в группе​ Когда указатель примет​

    Изображение ленты Excel

    • ​Сочетание клавиш​ и сообщить, помогла​​ тогда еще и​ Изображение кнопки​ вставки разного размера!»,vbCritical​

      ​ 8.​​Подскажите где ошибка,​ ColOffset = SelAreas(i).Column​

    • ​ но работать должен.​ не снимая фильтра.​​ книгу, листа на​ Значок кнопки​ и последнюю строки​

      ​Мотя​​Копировать​ в вычисленные значения​

  3. ​Примечание​Редактирование​ форму указателя копирования​     Можно также нажать сочетание​​ ли она вам,​​ названия листов должны​​ Exit Sub End​​Удачи!​

    ​ пример прилагается.​​ — LeftCol SelAreas(i).Copy​Option Explicit Sub​ при стандартном копировании​ лист на форуме​ в книге откуда​: !​.​ без переопределения существующего​    По умолчанию можно редактировать​

  4. ​нажмите кнопку​​, перетащите ячейку​​ клавиш CTRL+C.​ с помощью кнопок​ совпадать​

​ If ‘переносим данные​​Весьма распространенная ситуация, вопрос​Заранее спасибо.​ PasteRange.Offset(RowOffset, ColOffset) Next​ CopyMultipleSelection() Dim SelAreas()​ данные вставляются и​

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

​ полно.​ будем копировать (например​Покажите в файле:​Сочетание клавиш​ форматирования;​ и выделять данные​Найти и выделить​ или диапазон ячеек​Выделите левую верхнюю ячейку​

  1. ​ внизу страницы. Для​roka​

    ​ из одного диапазона​

  2. ​ про которую мне​​nilem​​ i End Sub​​ As Range Dim​​ в спрятанные строки.​​Главная задача определить​​ указывая ячейки D10​​ что — «есть»​​     Можно также нажать сочетание​

    Изображение ленты Excel

  3. ​вставить только формулы (но​​ непосредственно внутри ячейки,​​и выберите команду​​ в новое расположение.​​ области вставки.​​ удобства также приводим​​: Это понятно, спасибо.​

  4. ​ в другой только​​ задают почти на​​: Избавляйтесь от Selection​​Все_просто​​ PasteRange As Range​​ Специальные вставки не​ Значок кнопки​ начальную и конечную​

    Изображение ленты Excel

    ​ и K16 в​​ и что «надо».​ клавиш CTRL+C.​

  5. ​ не вычисленные значения).​ дважды щелкнув ее,​

    ​Выделить группу ячеек​​Примечание:​Совет:​ ссылку на оригинал​судя по коду,​ в видимые ячейки​ каждом тренинге. Есть​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​: У Уокенбаха в​ Dim UpperLeft As​

  6. ​ помогают. Нужно чтобы​​ строку диапазона (столбцы​​ книге2)​​The_Prist​​Выделите левую верхнюю ячейку​​Выделите ячейку или диапазон​ Изображение кнопки​ но можно редактировать​

    ​.​​ При перемещении ячеек в​ Чтобы переместить или скопировать​

  • ​ (на английском языке).​ похоже то что​​ i = 1​ Изображение кнопки​ таблица, в которой​Sheets(«Лист1»).Range(«B1:D3»).Copy Sheets(«Лист2»).Range(«H9»)​ книге такое было,​ Range Dim NumAreas​

​ данные вошли в​ фиксированы как понял),​3. нажимаем кнопку​: Может имеется ввиду​ области вставки.​ ячеек со значениями,​ и выделять данные​В группе​ приложении Excel замещаются​

​ выделенный фрагмент на​Чтобы переместить или скопировать​ надо.​ For Each cell​ Фильтром (​End Sub​ но лень искать.​

Предотвращение замещения данных скопированными пустыми ячейками

  1. ​ As Integer, i​ соответствующие строки.​

    ​ а потом копируем​

  2. ​ и копируем строки,​​ это:​​Совет:​​ форматами или формулами,​​ и в строка​​Выбор​ Значок кнопки​ существующие данные в​

    Изображение ленты Excel

    ​ другой лист или​​ содержимое ячейки с​GIG_ant​

  3. ​ In pasterng If​Данные — Фильтр​

  4. ​Мур​​ Нашел на англоязычном​​ As Integer Dim​​Например, есть строки:​​ эти блоки в​ но не полностью​​grablik​ Изображение кнопки​ Чтобы переместить или скопировать​​ которые нужно скопировать.​​ формул.​

  5. ​щелкните элемент​​ области вставки.​​ в другую книгу,​

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

  1. ​ помощью​: Категорически с вами​ cell.EntireRow.Hidden = False​

    ​) отобраны несколько строк.​​: nilem, большое спасибо!​ сайте.​ TopRow As Long,​№ янв’13 фев’13​ другую книгу…​ а по определённому​: нужно перенести значения​ выделенный фрагмент на​

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

    ​При копировании ячеек ссылки​

    ​ щелкните ярлычок другого​

    ​Вырезать​

    ​ согласен )​

    ​ Then cell.Value =​ Задача — вставить​Работает замечательно. И​Макс​ LeftCol As Integer​

    ​ янв’14 фев’14​

    Изображение кнопки

    ​Определить начало и​ формату, который прописываем​ размеров из первого​ другой лист или​На вкладке​ которые нужно скопировать​

    ​и нажмите кнопку​

    ​ на ячейки изменяются​ листа или выберите​,​Казанский​ copyrng.Cells(i).Value i =​ какие-либо нужные нам​ главное просто.​: Я так и​

  3. ​ Dim RowOffset As​​1 1,596 2,450​​ конец диапазона можно​​ в макросе (например​​ столбца во второй​ в другую книгу,​

    Изображение ленты Excel

    • ​Главная​ или переместить.​​ОК​ Изображение кнопки​ автоматически. Но при​

      ​ другую книгу и​​Копировать​: Во прикол!​

    • ​ i + 1​ значения именно в​​А тут мудрю, сначала​ Значок кнопки​ понял, сам там​

      ​ Long, ColOffset As​​ 0000 0000​ через InputBox​

  4. ​ копируем только столбцы​Сергей​ щелкните ярлычок другого​в группе​Выделение символов в ячейке​.​ перемещении ячеек ссылки​

  5. ​ выделите левую верхнюю​​и​​Если скопировать таким​​ End If Next​​ видимые отфильтрованные строки,​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Ëèñò1»).Visible = True​ Изображение кнопки​ смотрел, код не​

    ​ Integer Dim NonEmptyCellCount​​2 0000 3,784​примерно так​

  6. ​ 1-5, 8-15, 20)​

    ​: в столбец С​​ листа или выберите​Буфер обмена​Чтобы выделить содержимое ячейки​На вкладке​ не изменяются, и​ ячейку области вставки.​Вставить​ образом имя, которое​ cell End Sub​ пропуская при этом​перед Selection вписываю,​ подходит. Нужно чтобы​ As Integer ‘​ 0000 0000​

Копирование значений ячеек, форматов ячеек и только формул

​On Error Resume​В итоге получаем​ =ЕСЛИ(ЕЧИСЛО(A2);A2;B2) протягиваете копируете​

  • ​ другую книгу и​нажмите кнопку​Выполните следующие действия​Главная​ вместо содержимого этих​

  • ​На вкладке​. Или скопируйте определенного​ ссылается на несуществующий​Как легко сообразить, макрос​

  • ​ скрытые. Обычное копирование-вставка​ затем после выполнения​

  • ​ макрос сам определял​ Exit if a​3 0000 1,009​ Next​

    ​ что в книге1​

  • ​ вставляете как значения​​ выделите левую верхнюю​​Копировать​​В ячейке​​в группе​​ ячеек и всех​ Значок кнопки​Главная​

    Изображение ленты Excel

    ​ содержимого или атрибутов​​ лист, имя создается,​ запрашивает у пользователя​

  • ​ при этом не​ кода наооборот​ эту область для​ range is not​ 0000 0000​Set rngStartRange =​

  • ​ заполнены строки 5​​grablik​​ ячейку области вставки.​​.​​Дважды щелкните ячейку, а​Буфер обмена​​ ячеек, которые на​ Изображение кнопки​в группе​ ячеек. Например скопируйте​

    • ​ но его значение,​ по очереди два​​ сработает, т.к. данные вставятся​​Sheets(«Ëèñò1»).Select​

    • ​ выделения.​ selected If TypeName(Selection)​​4 8,957 1,123​​ Application.InputBox _​

    • ​ — 11 столбцы​: Сергей, спасибо, но​​На вкладке​​Сочетание клавиш​

      ​ затем протащите указатель​​нажмите кнопку​ них ссылаются, может​Буфер обмена​ результатом формулы без​ ессно, равно ошибке​ диапазона — копирования​ не только в​ActiveWindow.SelectedSheets.Visible = False​Пробовал так​ < > «Range»​ 0000 0000​(Prompt:=»Выделите начальную ячейку»,​ 1-5, 8-15, 20​ это не то​Главная​     Можно также нажать сочетание​ мыши, чтобы охватить​Копировать​ отображаться ошибка адресации.​нажмите кнопку​ копирования формулы или​ #ЗНАЧ!​ и вставки. Затем​ видимые, но и​Еще раз спасибо!​Sub tyu() Cells.Select​

Копирование параметров ширины ячеек

​ Then MsgBox «Select​5 1,321 0000​ _​Вот и всё.​ что нужно, потому​в группе​ клавиш CTRL+C.​ содержимое ячейки, которое​

  1. ​.​ В этом случае​

    ​Вставить​

  2. ​ скопировать только формулу.​​Теперь, если создать​​ проверяет, чтобы их​​ в скрытые ячейки.​​Мур​ Selection.CurrentRegion.Select Selection.Copy Range(Selection,​

    Изображение ленты Excel

    • ​ the range to​ 0000 0000​​Title:=»», Type:=8)​ Изображение кнопки​Спасибо за помощь.​

      ​ что нужно будет​​Буфер обмена​Выделите левую верхнюю ячейку​

    • ​ требуется выделить.​Сочетание клавиш​​ потребуется изменить ссылки​ Значок кнопки​.​

      ​Ячейки в Excel перемещаются​​ лист с соотв.​ размеры совпадали, т.к.​

  3. ​ Давайте посмотрим, как​: О как наредактировал!​

    ​ Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select​​ be copied. A​Отфильтровали, получилось​If rngStartRange Is​ Готового решения в​ удалить эти значения​нажмите стрелку под​ области вставки или​В строке формул​     Можно также нажать сочетание​

  4. ​ вручную.​​Сочетание клавиш​​ и копируются вместе​​ именем, то имя​​ разница в размерностях​ можно обойти эту​​Мур​ Изображение кнопки​ Range(Selection, Selection.End(xlToRight)).Select Range(Selection,​​ multiple selection is​​№ янв’13 фев’13​

support.office.com

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

​ Nothing Then MsgBox​ Интернете не нашёл.​ из первого столбца,​ кнопкой​ ту ячейку, куда​

​Щелкните ячейку, а затем​ клавиш CTRL+C.​

Копируем видимые ячейки в Excel

​Если выделенная область копирования​     Можно также нажать сочетание​ с формулами, итоговыми​ заработает ТОЛЬКО в​

Копируем видимые ячейки в Excel

​ вызовет впоследствии ошибку​ проблему.​: А если так:​

  1. ​ Selection.End(xlToRight)).Select End Sub​​ allowed.» Exit Sub​​ янв’14 фев’14​
  2. ​ «Выберите ячейку, а​​Роман​​ так что они​​Вставить​​ нужно вставить значение,​ протащите указатель мыши,​​Выделите левую верхнюю ячейку​​ содержит скрытые ячейки,​Копируем видимые ячейки в Excel
  3. ​ клавиш CTRL+V.​​ значениями, форматом и​​ VBA: можно использовать​ при вставке. Затем​​Если вам нужно вставить​​nilem, большое спасибо!​Копируем видимые ячейки в Excel
  4. ​но макрос выделяет​ End If ‘​​1 1,596 2,450​​ то ни чего​
  5. ​: файлы прикрепляю​​ потеряюца и во​​и выберите пункт​​ формат ячейки или​​ чтобы охватить содержимое​

​ области вставки.​

Копируем видимые ячейки в Excel

​ строки или столбцы,​Примечания:​
​ примечаниями.​
​ диапазон range(«имя») или​

​ макрос перебирает все​

office-guru.ru

Копирование несвязанных диапазонов

​ одни и те​​Работает замечательно. И​ только диапазон с​ Store the areas​ 0000 0000​ делать не буду»,​Роман​ втором. Тут нужно​Сохранить ширину столбцов оригинала​ формулу.​ ячейки, которое требуется​Совет:​ приложение Excel копирует​ ​В Excel ячейки можно​

​ names(«имя»).RefersTorange или [имя],​​ ячейки в диапазоне​ же значения во​

​ главное просто.​​ А по J,​ as separate Range​3 0000 1,009​ vbInformation, «НУ?!»​
​: К сожалению все​ скопировать без свзяи​.​На вкладке​

​ выделить в строке​​ Чтобы переместить или скопировать​
​ их. Может понадобиться​В Excel вырезанные или​ перемещать путем перетаскивания​:)

​ но его нельзя​​ вставки и переносит​ все отфильтрованные строки​

​А тут мудрю,​​ оставшийся не захватывает,​ objects NumAreas =​ 0000 0000​

​If Not rngStartRange​​ столбцы должны быть​Юрий М​По умолчанию Excel копирует​

​Главная​​ формул.​ выделенный фрагмент на​ временно отобразить данные,​ скопированные ячейки выделяются​ или с помощью​ выделить: [имя].select дает​ туда данные из​ списка, то все​ сначала​ даже при наличии​

​ Selection.Areas.Count ReDim SelAreas(1​​4 8,957 1,123​ Is Nothing Then​ открыты и требуется​: Но Вы же​ как видимые, так​в группе​С помощью клавиатуры​ другой лист или​ которые не нужно​

​ анимированной пунктирной рамкой.​​ команд​ ошибку.​ диапазона копирования, если​ просто. Предположим, что​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Ëèñò2»).Select​

​ Range(Selection, Selection.End(xlToRight)).Select​​ To NumAreas) For​ 0000 0000​iNachRow = rngStartRange.row​

​ скопировать несвязанные диапазоны​​ просили КОПИРОВАНИЕ, а​ и скрытые ячейки.​Буфер обмена​

​Нажмите клавишу F2, чтобы​​ в другую книгу,​ копировать.​ Чтобы снять это​Вырезать​И на листе​ строка видима (т.е.​ у нас есть​Sheets(«Ëèñò1»).Visible = True​Все_просто​ i = 1​теперь из 13​:)​ ‘начальная строка блока​:)

​ формат которых заранее​​ получается, что Вам​ Однако можно скопировать​

​щелкните стрелку под​​ изменить ячейку. С​ щелкните ярлычок другого​Выделите ячейку или диапазон​ выделение, нажмите клавишу​и​ использование этого имени​ не отфильтрована).​ вот такой список​Sheets(«Ëèñò1»).Select​: Какой-то странный код​ To NumAreas Set​ года копируем данные​ данных​ известне (это столбцы​

planetaexcel.ru

выбор несвязанного диапазона ячеек из одной книги и их копирование в другую

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

​roka​
​ сделок:​Range(«B1:D3»).Select​ в 6 посте.​ SelAreas(i) = Selection.Areas(i)​ и вставляем их​—-​ 1-5, 8-15, 20​
​ у тут есть​В этом примере строка​Вставить​ стрелками поместите курсор​ другую книгу и​ которые нужно переместить​При перемещении ячеек путем​
​.​При выборе имени​: Подскажите, плиз, есть​… и в нем нужно поставить​Selection.Copy​ Может я что-то​ Next ‘ Determine​ в ячейки вместо​
​Потом конечную строку,​ в примере)​ выход: выделяем скопированное,​ 2 скрыта:​и выполните одно​
​ в нужное место,​
​ выделите левую верхнюю​ или скопировать.​ вырезания и вставки​

​Перемещение ячеек путем перетаскивания​​ в Диспетчере имен​

​ ли возможность скопировать​​ фиксированную скидку в​Sheets(«Ëèñò2»).Select​ не понимаю?​ the upper left​ тире в 14​ проверку больше меньше,​Роман​ правый клик -​

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

​ в приложении Excel​​Выделите ячейки или диапазон​ диапазон даже выделяется​
​ имена диапазонов из​ 1000 рублей каждому​Range(«H9»).Select​Если не хотите​
​ cell in the​ год​ а потом просто​

​: до сих пор​​ Специальная вставка -​ затем вставить этот​
​чтобы вставить только значения,​ содержимое, удерживая нажатой​На вкладке​На вкладке​
​ замещаются существующие данные​ ячеек, которые требуется​ на листе, но​

​ одной книги в​ «Ашану».​ActiveSheet.Paste​ выбирать вручную нужные​
​ multiple selection TopRow​должно быть так:​ копируем заданные диапазоны…​
​ ничего сделать не​ значения.​ диапазон, результат получается​

​ выберите вариант​​ клавишу SHIFT.​Главная​
​Главная​ в области вставки.​ переместить или скопировать.​ ошибка не пропадает.​
​ другую.​Фильтруем наш список Автофильтром,​Sheets(«Ëèñò1»).Select​

​ области, пропишите соответствующую​ = ActiveSheet.Rows.Count LeftCol​№ янв’13 фев’13​ И не надо​
​ могу​grablik​ следующим:​
​значения​На вкладке​в группе​

​в группе​Чтобы воспользоваться специальными вариантами​Наведите указатель мыши на​Теперь можете загадывать​

​Понимаю что копать​​ оставляя на экране​ActiveWindow.SelectedSheets.Visible = False​ область вместо объекта​ = ActiveSheet.Columns.Count For​
​ янв’14 фев’14​ в буфер или​прошу помощи​: может кто нибудь​Чтобы скопировать только видимые​
​;​Главная​Буфер обмена​Буфер обмена​ вставки ячеек, можно​ границу выделенной области.​ загадку знатокам Excel​
​ надо где-то здесь​ только «Ашаны». Вводим​Еще раз большое спасибо!​
​ инпутбокс. Должен же​
​ i = 1​1 1,596 2,450​
​ в массив загонять…​Guest​
​ помочь с настройкой​ ячейки, выполните несколько​
​чтобы вставить только форматы​
​в группе​нажмите кнопку​выполните одно из​ щелкнуть стрелку под​Когда указатель примет вид​ — как добиться​

​ ThisWorkbook.ActiveSheet.Names​ нужное значение в​
​Мур​ быть какой-то критерий.​ To NumAreas If​
​ 1,596 2,450​
​Роман​: А если не​ сортировки данных в​ простых действий:​ ячеек, выберите вариант​Буфер обмена​Вставить​

​ указанных ниже действий.​​ кнопкой​ указателя перемещения​
​ состояния, показанного на​webley​ первую ячейку и​: И окончательный вариант​

​Если это возможно​​ SelAreas(i).Row < TopRow​3 0000 1,009​: Спасибо. Потихоньку что-то​ «заморачиваться» несвязанными диапазонами?​ ячейке? готов обсудить​Выделите диапазон​Форматирование​выполните одно из​.​Чтобы переместить выделенный фрагмент,​
​Вставить​, перетащите ячейку​ рисунке: :)) Прикрепленные​
​: я так посмотрел,​ протягиваем (копируем за​ ответа (простите меня​ попробуйте через цикл​
​ Then TopRow =​ 0000 1,009​ начинает получаться.​Сколько их? Постоянные​ условия​
​A1:A4​;​ указанных ниже действий.​Сочетание клавиш​
​ нажмите кнопку​

​и выбрать нужный​​ или диапазон ячеек​ файлы post_241538.png (10.16​
​ наверное все таки​

​ правый нижний угол​
​ воюю с редактором):​

​ провести все операции​​ SelAreas(i).Row If SelAreas(i).Column​4 8,957 1,123​Только вот не​

planetaexcel.ru

Копирование форматированных данных в несвязные диапазоны (Формулы)

​ — нет? Место​​МВТ​
​.​чтобы вставить только формулы,​Чтобы переместить выделенный фрагмент,​     Можно также нажать клавиши​Вырезать​ вариант, например​ в другое место.​ КБ)​ надо смотреть ThisWorkbook.Names​ ячейки) вниз:​nilem, большое спасибо!​ без методов типа​ < LeftCol Then​ 8,957 1,123​ понял про то​ куда: постоянное -​: grablik, сортировка данных​На вкладке​ выберите вариант​ нажмите кнопку​ CTRL+V.​
​.​
​Специальная вставка​Перемещение ячеек с помощью​
​roka​nerv​
​Умный Excel в данном​Работает замечательно. И​
​ .copy, .cut, пр.​ LeftCol = SelAreas(i).Column​
​но получается что​ как копировать не​
​ нет?​ в ячейке? Наверное,​
​Home​
​формулы​Вырезать​
​Если нажать стрелку под​Сочетание клавиш​
​или​ команд «Вырезать» и​
​: что я делаю​: На мой взгляд​
​ случае понимает, что​ главное просто.​KuklP​ Next Set UpperLeft​ третья строка прячется​ загоняя в буфер?​
​Дать имена… Поставить​
​ в столбце?​(Главная) нажмите кнопку​
​.​.​
​ командой​     Можно также нажать клавиши​
​Рисунок​ «Вставить»​
​ не так?​ вопрос сформулирован странно:​ вы хотите ввести​А я тут​: Жуть какая-то с​
​ = Cells(TopRow, LeftCol)​
​ во вторую, а​Guest​ в очередь на​

​Юрий М​​Find & Select​Примечание:​Сочетание клавиш​

excelworld.ru

Копирование несмежных диапазонов (VBA)

​Вставить​​ CTRL+X.​.​
​Выделите ячейку или диапазон​Workbooks(nname).Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​ зачем копировать имена​ значения именно в​ мудрю:​ этим форумом. Намучаешься,​
​ ‘ Get the​ чевертая оказывается в​: Вы найдите файл​ копирование и… вперед!(?)​: grablik, а какое​(Найти и выделить)​ Если копируемые формулы содержат​     Можно также нажать клавиши​, можно выбрать​Чтобы скопировать выделенный фрагмент,​По умолчанию в приложении​ ячеек.​на этом месте​ именованных диапазонов? Другое​ отфильтрованные ячейки и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​ пока сообщение напишешь.​ paste address On​ третьей.​ по клчевым словам​
​Роман​ отношение сортировка имеет​
​ и кликните по​

​ относительные ссылки на​​ CTRL+X.​
​ параметры вставки, которые​ нажмите кнопку​ Excel на листе​

​На вкладке​​ ругается, что объект​ дело, если, к​

​ делает то, что​​Sheets(«Лист2»).Select​Public Sub www()​
​ Error Resume Next​Как это сделать?​ = Анюточка Pavel55​: А если не​ к заявленной теме?​Go To Special​ ячейки, Excel настраивает​Чтобы скопировать выделенный фрагмент,​ следует применить к​Копировать​ отображается кнопка​Главная​ не поддерживает данное​ примеру, имя привязано​ нужно:​Sheets(«Лист1»).Visible = True​ Dim r As​ Set PasteRange =​Тема закрыта. Причина:​ =. Там как​ «заморачиваться» несвязанными диапазонами?​Revenant​(Выделить группу ячеек).​ ссылки (и относительные​ нажмите кнопку​ выделенному диапазону.​.​Параметры вставки​нажмите кнопку​ свойство или метод​ к группе ячеек​Такой способ подойдет и​Sheets(«Лист1»).Select​ Range, lr&, lc&,​ Application.InputBox _ (Prompt:=»Specify​ Нарушение правил пп​ раз есть копирование​Сколько их? Постоянные​: У меня похожий​Выберите опцию​ части смешанных ссылок)​Копировать​При копировании значения последовательно​Сочетание клавиш​, которая позволяет получить​Вырезать​Юрий М​ и требуется перенести​ для ввода значений​Range(«B1:D3»).Select​ c As Range​ the upper left​ 3 и 5g​ из многих книг​ — нет? Место​ вопрос. Выделяю с​Visible cells only​ в скопированных формулах.​.​ вставляются в строки​     Можно также нажать сочетание​ доступ к специальным​или нажмите клавиши​: Я тоже не​ их…​ и для ввода​Selection.Copy​ lc = Rows(1).Find(«ОбщСтатусДвиженияМтр»,​ cell for the​SkyPro​ в 1. Где​ куда: постоянное -​ Ctrl желтые ячейки​(Только видимые ячейки)​ Допустим, ячейка B8​Сочетание клавиш​ и столбцы. Если​ клавиш CTRL+C.​ вариантам вставки ячеек,​ CTRL+X.​ понимаю: зачем копировать​GIG_ant​ формул. Например, если​Sheets(«Лист2″).Select​ lookat:=xlPart).Column ‘Cells(1, Columns.Count).End(xlToLeft).Column​ paste range:», _​: Зачем такой размер​ много (книг) КОД​ нет?​ и пытаюсь их​ и нажмите​ содержит формулу =СУММ(B1:B7).​     Можно также нажать сочетание​ область вставки содержит​Щелкните правой кнопкой мыши​ например​Выделите ячейку, в которую​ ИМЕНА. Другое дело​: Попробуйте так:​ скидка для «Ашанов»​Range(«H9″).Select​ lr = Cells(Rows.Count,​ Title:=»Copy Mutliple Selection»,​

​ шрифта и где​​ ОБРЕЖЕТЕ И ДАЛЬШЕ​Дать имена… Поставить​ скопировать в другой​OK​ Если скопировать эту​

​ клавиш CTRL+C.​​ скрытые строки или​ левую верхнюю ячейку​Сохранить исходное форматирование​ вы хотите переместить​ — копировать именованный​Sub CopyNames()​ не фиксированная, а​
​ActiveSheet.Paste​
​ 1).End(xlUp).Row Set r​ _ Type:=8) On​ файл?​ все просто.​ в очередь на​
​ столбец, чтобы они​.​ формулу в ячейку​Щелкните в том месте​ столбцы, возможно, потребуется​ области вставки, а​

​. Если не нужно​​ данные.​ диапазон…​Dim n As​ составляет 10% от​
​Sheets(«Лист1»).Select​ = Range([a1], Cells(lr,​ Error GoTo 0​Макс​Копирование с активного​ копирование и… вперед!(?){/post}{/quote}​
​ не задели ячейки​Excel выделит видимые ячейки.​ C8, новая формула​ ячейки, куда нужно​ отобразить их, чтобы​

​ затем выберите пункт​​ отображать эту кнопку​На вкладке​webley​:(
​ Name​ суммы сделки, то​ActiveWindow.SelectedSheets.Visible = False​ lc)).SpecialCells(12) r.Copy Sheets(2).[a1]​ ‘ Exit if​: Уважаемые знатоки VBA,​ листа как -​Диапазонов много -​ без заливки. Приходится​ Теперь нажмите сочетание​ будет ссылаться на​

​ вставить символы, или​​ увидеть все скопированные​Вставить вырезанные ячейки​ при каждой вставке​Главная​: Может так?​For Each n​ в первую отфильтрованную строку​

​End Sub​​ End Sub​ canceled If TypeName(PasteRange)​ приветствую Вас.​ то так​ порядка 40, число​ перебивать руками, может,​:D

​Ctrl+C​​ соответствующие ячейки этого​ дважды щелкните другую​ данные.​или​ ячеек, ее можно​
​нажмите кнопку​Workbooks(nname).NAMES.Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​:)​ In ThisWorkbook.Names​ можно ввести не​

​И вроде работает,​​Маугли​ < > «Range»​Помогите пожалуйтса, видел​

planetaexcel.ru

Копирование диапазона (Отладка макроса)

​Range(«A» & iStartRow​​ строк разное, место​
​ этот вопрос как​, чтобы скопировать диапазон.​ столбца: =СУММ(C1:C7). Если​
​ ячейку для перемещения​При копировании и вставке​Вставить скопированные ячейки​ отключить. Откройте вкладку​
​Вставить​
​roka​ИмяКниги.Names.Add Name:=n.Name, RefersToR1C1:=n.RefersToR1C1​
​ константу (1000), а​

​ но как-то чересчур​​: Может так.. Sub​
​ Then Exit Sub​
​ на форуме много​
​ & ":" &​

​ тоже разное​​ то можно упростить?​
​Выберите ячейку​ копируемые формулы содержат​

​ или копирования в​​ скрытых или отфильтрованных​
​.​Файл​или нажмите клавиши​
​: аааааааааа, спасибо, проглядел​
​Next n​

​ формулу (=C2*10%) и также скопировать вниз.​

​ сложно все.​​ tt() Dim Rng​

​ ‘ Make sure​​ подобных тем, но​
​ «F» & iLastRow).copy​
​Пробую написать макрос,​Пример прикрепил.​
​A6​ абсолютные ссылки на​
​ нее данных.​
​ данных в другое​
​Совет​
​и выберите команду​
​ CTRL+V.​
​roka​
​End Sub​
​Другое дело, если вам​
​А Вам, еще раз​
​ As Range With​

​ only the upper​

​ мой случай не​​ destination:=Workbook(«…»).worksheet(«…»).Range(«A» & iRow)​ пока выходит, но​Revenant​
​и нажмите​
​ ячейки, ссылки в​На вкладке​
​ приложение или в​    Чтобы переместить или скопировать​
​Параметры​
​Копируйте ячейки на листе​
​: Всем спасибо, все​
​где ИмяКниги -​
​ необходимо вставить в​
​ большое спасибо!​
​ Sheets(1) Set Rng​
​ left cell is​
​ подходит ни под​
​Это если нет​
​ не очень​
​: Никто не знает​

​Ctrl+V​ скопированных формулах не​Главная​

​ другой экземпляр приложения​ выделенный фрагмент на​

​. В категории​​ с помощью команд​ что мне надо​
​ имя книги в​
​ отфильтрованные ячейки не​
​KuklP​

​ = .UsedRange.SpecialCells(12) End​​ used Set PasteRange​ один из них.​ формул, если есть​Вопрос: как передать​ чтоли?(​, чтобы вставить диапазон.​
​ меняются. Если вы​в группе​ Excel будут скопированы​

​ другой лист или​​Дополнительно​
​Копировать​ было, получилось. В​ которую копируем имена.​
​ одинаковые значения или​: Да уж, перебор.​
​ With Rng.Copy Sheets(2).[A1]​wacko​ = PasteRange.Range(«A1») ‘​

​Есть лист, на​

​ и надо перенести​​ в переменную номер​_Igor_61​Результат:​ не получили ожидаемого​Буфер обмена​ только видимые ячейки.​ в другую книгу,​в разделе​
​и​

excelworld.ru

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

​ результате полистного копирования​GIG_ant​ формулы, а разные,​ Смотрим:​ End Sub​ Check paste range​​ нем размещена таблица​​ значения/форматы/ и т.д.​ строки активной ячейки?​: Записал макрорекордером и​Урок подготовлен для Вас​ результата, попробуйте изменить​нажмите кнопку​Выделите диапазон ячеек, содержащий​ щелкните ярлычок другого​Вырезание, копирование и вставка​Вставить​ одной книги в​: При этом книга​ да еще и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1()​KuklP​

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

​ for existing data​ с данными, в​ используем специальную вставку…​Роман​ сделал имена для​ командой сайта office-guru.ru​ ссылки в исходных​Вставить​ пустые ячейки.​

Как вȎxcel скопировать несвязанные диапазоны

​ листа или выберите​снимите флажок​.​ другую формулы с​

​ в которую копируем​ брать их из другого​Sheets(«Лист1»).[B1:D3].CopySheets(«Лист2»).[H9]​: Маугли, там справа​ NonEmptyCellCount = 0​ таблице установлен фильтр.​Работа с буфером​: А если не​

Как вȎxcel скопировать несвязанные диапазоны

​ переменных, но как​Источник: http://www.excel-easy.com/examples/copy-visible-cells-only.html​ формулах на относительные​.​Выделение ячеек и диапазонов​ другую книгу и​Отображать кнопку параметров вставки​

Как вȎxcel скопировать несвязанные диапазоны

​Выделите ячейку или диапазон​ применением имен диапазонов​ должна быть открыта​ диапазона. Тогда придется использовать​End Sub​ от таблицы пара​ For i =​ Необходимо при помощи​ — это уже​ «заморачиваться» несвязанными диапазонами?​ это все теперь​Перевел: Антон Андронов​

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

​ или абсолютные, а​Сочетание клавиш​На вкладке​ выделите левую верхнюю​ при вставке содержимого​ ячеек.​ работают корректно.​roka​ несложный макрос. Нажмите​KuklP​​ заполненных ячеек. Автору​​ 1 To NumAreas​ макроса выделить два​ отдельная процедура (код)​Сколько их? Постоянные​​ в цикл записать​​Автор: Антон Андронов​ затем снова скопировать​

​     Можно также нажать сочетание​Главная​ ячейку области вставки.​.​Нажмите кнопку​Казанский​: по моему это​ сочетание клавиш​: Ну вот, невнимателен.​ не нужно, чтоб​ RowOffset = SelAreas(i).Row​ несвязанных диапазона -​ в ВБА.​ — нет? Место​ не знаю Sub​grablik​ ячейки.​ клавиш CTRL+V.​в группе​В диалоговом окне​По умолчанию режим перетаскивания​Копировать​: Если все же​ одно и тоже.​Alt+F11​ Николай раньше ответил​ они попали под​ — TopRow ColOffset​ с А по​Игорь67​ куда: постоянное -​ Перенос() Dim iStart,​: Подскажите как можно​

​При вставке скопированных данных​Нажмите клавишу ВВОД.​Буфер обмена​Вставка скопированных ячеек​ включен, поэтому можно​или клавиши CTRL+C.​ захотите копировать не​ Ну допустим есть​, в открывшемся окне​ то же от:​ раздачу​ = SelAreas(i).Column -​ Q и скопировать​слэн​ нет?​ iCoda, iSumma iStart​ скопировать несвязанные диапазоны.​

planetaexcel.ru

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

​ к ним применяются​​Примечание:​нажмите кнопку​выберите направление, в​ перемещать и копировать​Нажмите кнопку​
​ только имена, но​ имена, привязанные к​ Visual Basic вставьте​

​ nilem Дата: Суббота,​​Макс​ LeftCol NonEmptyCellCount =​ их. Проблема заключается​

​: если копировать только​​Дать имена… Поставить​ = Range(«E1») iCoda​ В одном столбце​ параметры ширины целевых​ При двойном щелчке ячейки​Копировать​ котором нужно сдвинуть​ ячейки с помощью​Вставить​

​ и диапазоны, на​​ группе ячеек, вот​

​ новый пустой модуль​
​ 16.04.2011, 12:01 |​: , спасибо огромнейшее,​
​ NonEmptyCellCount + _​ в том, что​
​ значения:​
​ в очередь на​
​ = Range(«F1») iSumma​

​ множество ячеек со​ ячеек. Чтобы изменить​ или нажатии клавиши​

​.​​ окружающие ячейки.​ мыши.​или клавиши CTRL+V.​

​ которые ссылаются эти​​ их и надо​ через меню​ Сообщение № 2.​ я думал у​ Application.CountA(Range(PasteRange.Offset(RowOffset, ColOffset), _​ в данном диапазоне​[b1:b6] = [a1:a6].Value​

​ копирование и… вперед!(?){/post}{/quote}​​ = Range(«H1») Range(iStart).Select​ значениями, их нужно​ ширину ячеек в​ F2 для редактирования​

​Сочетание клавиш​
​Примечание​Выделите ячейки или диапазон​
​Выделите ячейки, которые нужно​ имена, посмотрите тут:​
​ перенести.​Insert — Module​
​Мур, что Вас​ меня сейчас мозг​
​ PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count​ прямо посередине есть​
​если все:​
​Диапазонов много -​

​ Selection.Copy Range(iCoda).Select ActiveSheet.Paste​
​ скопировать в другой​ соответствии с параметрами​ активной ячейки клавиши​     Можно также нажать сочетание​

​    При вставке целых строк​​ ячеек, которые требуется​
​ переместить или скопировать.​roka​webley​

​и скопируйте туда​​ не устраивает в​ взорвется с этим​

​ — 1, _​​ пустые столбцы -​
​[a1:a6].copy [b1:b6]​ порядка 40, число​ Range(iStart).Select Selection.ClearContents End​ столбец. Если нужно​ исходных ячеек, выполните​ со стрелками будут​ клавиш CTRL+C.​
​ или столбцов окружающие​ переместить или скопировать.​Выделение ячеек и диапазонов​: Спасибо, посмотрю.​: Можно вот так​ этот код:​ ответе Николая?​ выделением.​ ColOffset + SelAreas(i).Columns.Count​ с К по​
​Роман​ строк разное, место​ Sub​
​ использовать макросы, то​ указанные ниже действия.​ работать только внутри​Выделите левую верхнюю ячейку​ строки и столбцы​

​Выделение ячеек и диапазонов​На вкладке​Так то, у​ попробовать (для простоты​Sub PasteToVisible() Dim​Мур​Спасибо большое еще​

​ — 1))) Next​​ Р, их тоже​: Всем спасибо, далее​
​ тоже разное​
​Роман​ буду очень признателен​Выделите ячейки, которые нужно​ данной ячейки. Чтобы​

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

​ copyrng As Range,​​: Здравствуйте! KuklP.​
​ раз.​

​ i ‘ If​​ нужно включать в​

​ буду самостоятельно работать​​Пробую написать макрос,​: Добрый день!​ за разъяснение как​ переместить или скопировать.​ с помощью клавиш​На вкладке​ и влево.​ ниже действий.​

​в группе​​ не хватало имен.​ только один лист)​ pasterng As Range​Меня всё устраивает.​Макрос работает как​ paste range is​

​ выделение. Т.е. в​​ над темой.​
​ пока выходит, но​проблема выглядит так:​ их применить. К​

planetaexcel.ru

​Выделение ячеек и диапазонов​

Как в 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 копирует не только видимые, но и скрытые или фильтрованные ячейки. Если же требуется скопировать только видимые ячейки, выполните действия, описанные ниже. Например, можно скопировать только сводные данные из структурированного листа.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Копирование данных листа стандартными средствами Excel

Копировать данные в Excel можно с помощью стандартных системных средств: контекстное меню, перетягивание курсора Excel мышкой (за квадратик), комбинация клавиш CTRL+C. А можно воспользоваться удобным инструментом «Буфер обмена». В чем разница?

Копирование стандартными средствами – это возможность скопировать только один выделенный элемент (диапазон ячеек, диаграмма, таблица и т.п.). Стандартный метод позволяет перенести содержимое данных не только в приделах программ входящих в пакет MS Office, но и в другие Windows программы.

Инструмент «Буфер обмена» позволяет выделять в памяти программы до 24-х мест временного хранения содержимого данных. Таким образом, вы можете поместить в оперативную память 24 совершенно не связанных между собой элементов. Кроме того буфер обмена позволяет управлять содержимым хранилища оперативной памяти. Работа с буфером обмена ограничена в рамках программ пакета MS Office.

Нельзя вложиться в рамки одного урока, чтобы описать возможности копирования в программе Excel. Это одна из наиболее часто используемых функций в процессе работы. Сначала рассмотрим возможности перемещения данных в Excel стандартными системными средствами, а дальше оценим преимущества удобного инструмента «Буфер обмена».

Примеры копирования данных стандартными средствами Excel

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

Примечание. Другие элементы данных (диаграммы, таблицы, фигуры и т.п.) копируются аналогичным способом.

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

Как копировать таблицу в Excel?

Копировать выделенные ячейки в Excel можно несколькими способами. Создайте таблицу, так как показано на рисунке, а в ячейку C2 добавьте примечание.

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

Переместим данные диапазона B2:C3 в F3:G4.

Задание 1. Выделите диапазон B2:C3.

Перейдите на закладку инструментов «Главная» выберите «Копировать». Перейдите в ячейку F3 и нажмите на инструмент «Главная»-«Вставить».

Задание 2. Выделите диапазон ячеек B2:C3. Нажмите комбинацию клавиш CTRL+C и перейдите курсором на ячейку F3. После чего нажмите комбинацию клавиш CTRL+V.

Задание 3. По предварительно выделенному диапазону B2:C3 щелкните правой кнопкой мышки. Из появившегося контекстного меню выберите опцию «Копировать». Теперь щелкните правой кнопкой мышки по ячейке F3 и щелкните по опции контекстного меню «Вставить скопированные ячейки». Далее нажмите «ОК».

Задание 4. По-прежнему выделяем B2:C3. Далее наведите курсор мышки на рамку выделенного диапазона. Нажмите клавишу CTRL на клавиатуре. Возле курсора мышки появится значок «+». Удерживая левую клавишу мышки и клавишу CTRL, перетащите диапазон, расположив его по необходимому адресу (F3:G4). Отпустите сначала клавишу мышки, а потом CTRL.

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

Функциональное копирование смежных диапазонов ячеек

Теперь копируем смежный диапазон с нижней гранью. Для этого выделяем диапазон A4:D4. Наведите указатель на точку в нижнем правом углу курсора Excel и стрелка примет вид жирного плюса «+». Теперь удерживая левую клавишу мышки, смещаем указатель на одну ячейку вниз.

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

Примечание. Аналогичным способом можно скопировать столбец таблицы в смежный диапазон со стороны правой вертикальной грани. Соответственно курсор нужно смещать не вниз, а вправо.

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

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

Примечание. Если данный инструмент для вас не является вспомогательным, а скорее раздражительным, то его можно отключить. Для этого зайдите в настройки программы: «Файл»-«Параметры»-«Дополнительно»-«Вырезание, копирование и вставка». Там же уберите галочку напротив «Отображать кнопку параметров вставки при вставке содержимого».

Инструмент «Формат по образцу»

Чтобы копировать формат ячейки в Excel нужно использовать инструмент «Формат по образцу» предназначен для копирования только оформления ячеек без их значений. Принцип работы этого инструмента прост. Программой выделяется место для временного хранения в оперативной памяти только форматов без значений. Это очень удобно, когда нужно скопировать оформление и сохранить при этом значения данных.

Чтобы воспользоваться данным инструментом выделяем область формата таблицы A1:D4. Дальше надо нажать «Главная»-«Формат по образцу». Курсор мышки примет значок инструмента. После чего следует щелкнуть по ячейке B7 для вставки. Как видите, переместились только форматы без значений.

Если после выделения диапазона A1:D4 сделать двойной щелчок по инструменту «Формат по образцу», то это действие позволяет зафиксировать нажатие кнопки. Теперь можно несколько раз щелкать по разным ячейкам для вставки формата в несмежные диапазоны по одному клику.

На следующем уроке рассмотрим преимущества инструмента «Буфер обмена».

 

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

 

Юрий М

Модератор

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

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

#13

29.01.2014 13:25:53

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

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

 

sofi

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

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

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

 

Юрий М

Модератор

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

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

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

 

sofi

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

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

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

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 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, что-то помогать-то расхотелось. Юрий дал нормальный совет — выложить файл на файлообменник, если урезать не получается. Где тут хамство? Или дельный совет теперь в ранг хамства записан? Тогда я из темы ухожу — дашь совет и хамом станешь…Оно кому надо?

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

 

Юрий М

Модератор

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

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

#22

29.01.2014 14:48:22

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

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

 

sofi

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

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

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

 

Юрий М

Модератор

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

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

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

 

sofi

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

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

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

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

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 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 только вставляет новые строки.

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

Уважаемые спецы экселя, столкнулся со следующей проблемой — надо скопировать из одно столбца в соседний разрозненые диапазоны — не могу понять, как сократить макрос — а в таком виде как у меня — естественно ничего не работает.
Пример  ниже
Sub Percetage_Filling()
Worksheets(«Konsol 2011»).Select
Range(«W9»).Select
   ActiveCell.FormulaR1C1 = _
       «=RC[-5]*R6C24»
   Selection.Copy
   Union(Range(«W9:W14,W16:W23,W27:W28,W30:W31,W33:W36,W39:W40,W44:W50,W52:W54,W56,W58:W60») _
   , Range(«W63:W64,W67:W68,W71:W75,W79:W82,W84:W85,W87:W89,W92:W93,W95:W101,W103:W109,W112:W114») _
   , Range(«W116:W122,W124,W126:W127,W129:W131,W133:W135,W137:W146,W154:W155,W158:W159») _
   , Range(«W162:W163,W165:W167,W169:W170,W172,W174»)).Select
   Range(«W9»).Activate
   ActiveSheet.Paste
   Selection.Copy
   Union(Range(«R9:R14,R16:R23,R27:R28,R30:R31,R33:R36,R39:R40,R44:R50,R52:R54,R56,R58:R60») _
   , Range(«R63:R64,R67:R68,R71:R75,R79:R82,R84:R85,R87:R89,R92:R93,R95:R101,R103:R109,R112:R114») _
   , Range(«R116:R122,R124,R126:R127,R129:R131,R133:R135,R137:R146,R154:R155,R158:R159») _
   , Range(«R162:R163,R165:R167,R169:R170,R172,R174»)).Select
   Range(«R9»).Activate
   Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
       SkipBlanks:=False, Transpose:=False
       ‘Copy and paste as Text
   Dim rCell As Range
   For Each rCell In Selection
   rCell.Value = rCell.Text
   Next rCell
   ‘Text to Number
   On Error Resume Next
   Application.ScreenUpdating = False
   Dim Cell As Range
   Selection.NumberFormat = «_(* #,##0_);_(* (#,##0);_(* «»-«»_);_(@_)»
   For Each Cell In Selection
   Cell.Value = Cell.Value * 1
   Next Cell
   Application.ScreenUpdating = True
   For Each Cell In Selection
       Cell.Value = Replace(Cell.Value, »                                     —   «, «», 1, 1, vbTextCompare)
       Next Cell

   End Sub


Цитироватьнадо скопировать из одно столбца в соседний разрозненые диапазоны

Выложите лист экселя со столбцами как есть и как надо.
А разбирать Ваш код без примера, вряд ли кто будет.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Я предложил бы Вам:
1. Оформлять коды тегами Code
2. Объявлять переменные в теле кода один раз(Dim rCell As Range). Если объявить два раза одну переменную — код выполняться не будет. Но сразу укажет Вам на дубль.
3. Выкладывать пример данных в файле, т.к. без примера часто не совсем понятно что именно у Вас не работает и почему. А все экстрасенсы форума ушли в реалити-шоу на телеканал в ТНТ.
4. Попробовать приведенный ниже код:

Sub Percetage_Filling()
    Dim rRng As Range, rArea As Range
    Application.ScreenUpdating = False
    Worksheets("Konsol 2011").Select
    Union(Range("W9:W14,W16:W23,W27:W28,W30:W31,W33:W36,W39:W40,W44:W50,W52:W54,W56,W58:W60") _
  , Range("W63:W64,W67:W68,W71:W75,W79:W82,W84:W85,W87:W89,W92:W93,W95:W101,W103:W109,W112:W114") _
, Range("W116:W122,W124,W126:W127,W129:W131,W133:W135,W137:W146,W154:W155,W158:W159") _
, Range("W162:W163,W165:W167,W169:W170,W172,W174")).FormulaR1C1 = "=RC[-5]*R6C24"

        Set rRng = Union(Range("R9:R14,R16:R23,R27:R28,R30:R31,R33:R36,R39:R40,R44:R50,R52:R54,R56,R58:R60") _
             , Range("R63:R64,R67:R68,R71:R75,R79:R82,R84:R85,R87:R89,R92:R93,R95:R101,R103:R109,R112:R114") _
             , Range("R116:R122,R124,R126:R127,R129:R131,R133:R135,R137:R146,R154:R155,R158:R159") _
             , Range("R162:R163,R165:R167,R169:R170,R172,R174"))
    rRng.FormulaR1C1 = "=RC[-5]*R6C24"
    For Each rArea In rRng.Areas
        rArea.Value = rArea.Value
        rArea.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)"
    Next rCell
    rRng.Replace "                                     -   ", "", xlPart
    Application.ScreenUpdating = True
End Sub

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


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


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

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

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


Итак. Один косяк мой — один Ваш. В Вашем файле вместо Range почему-то Vange какой-то фигурировал. Откройте файл и посмотрите. Мой косяк: забыл заменить в Next rCell на Rarea. Макрос ниже запускается и работает. Вопрос в том, тот ли результат он дает.

Sub Filling_Percentage_Recommended()
Dim rRng As Range, rArea As Range
    Application.ScreenUpdating = False
    Worksheets("Konsol 2011").Select
    Union(Range("AA9:AA14,AA16:AA23,AA27:AA28,AA30:AA31,AA33:AA36,AA39:AA40,AA44:AA50,AA52:AA54,AA56,AA58:AA60") _
  , Range("AA63:AA64,AA67:AA68,AA71:AA75,AA79:AA82,AA84:AA85,AA87:AA89,AA92:AA93,AA95:AA101,AA103:AA109,AA112:AA114") _
, Range("AA116:AA122,AA124,AA126:AA127,AA129:AA131,AA133:AA135,AA137:AA146,AA154:AA155,AA158:AA159") _
, Range("AA162:AA163,AA165:AA167,AA169:AA170,AA172,AA174")).FormulaR1C1 = "=RC[-5]*R6C24"

        Set rRng = Union(Range("V9:V14,V16:V23,V27:V28,V30:V31,V33:V36,V39:V40,V44:V50,V52:V54,V56,V58:V60") _
             , Range("V63:V64,V67:V68,V71:V75,V79:V82,V84:V85,V87:V89,V92:V93,V95:V101,V103:V109,V112:V114") _
             , Range("V116:V122,V124,V126:V127,V129:V131,V133:V135,V137:V146,V154:V155,V158:V159") _
             , Range("V162:V163,V165:V167,V169:V170,V172,V174"))
    rRng.FormulaR1C1 = "=RC[-5]*R6C24"
    For Each rArea In rRng.Areas
        rArea.Value = rArea.Value
        rArea.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)"
    Next rArea
    rRng.Replace "                                     -   ", "", xlPart
    Application.ScreenUpdating = True

End Sub

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


Да, макрос работает — только не вставляются данные из столбца АА в столбец V. После выполнения команды For Each rArea In rRng.Areas — в столбце V появляются ноли (ну и соответственно появляются ноли в столбце АА,т.к. там остается формула — не пойму — как можно в Столбец V вставить только значения, которые получились в столбце АА. Оставлять информацию в столбце АА не обязательно.


Вы не ответили на мой вопрос

Цитата: _Boroda_ от 25.01.2012, 14:43
Заполните в Вашем файле пару строк так, как они в реальном файле. Интересует, прежде всего, как данные в ячейке V9 (мы ведь там хотим изменить — я правильно понял?) оказываются — там формула или просто число?

Проверяйте, так нужно?

Sub Percetage_Filling()
Application.ScreenUpdating = 0
    With Worksheets("Konsol 2011")
        .Range("AA6").Copy
        .Range("V7:V176").SpecialCells(xlCellTypeConstants, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
        Application.CutCopyMode = False
        .Range("V9").Select
    End With
Application.ScreenUpdating

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

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


Борода, данные в ячейку я «загоняю» макросом из внешних файлов — просто не стал этот макрос оставлять, т.к. это я уже научился делать самостоятельно. Результатом в столбце V должно быть именно число — как вы и сделали. Премного благодарен.
Также меня заинтересовало использование Range.SpecialCells Method. К сожалению, в стандартной справке не представлены примеры ее практического применения и тем более того наворота, что Вы там добавили. Если у Вас есть какие-либо ссылки на «популярные» тексты о применении (вариантах использования) этой функции, то был бы признателен (можно на англ.).
Еще раз спасибо.


ЦитироватьТакже меня заинтересовало использование Range.SpecialCells Method. К сожалению, в стандартной справке не представлены примеры ее практического применения и тем более того наворота, что Вы там добавили. Если у Вас есть какие-либо ссылки на «популярные» тексты о применении (вариантах использования) этой функции, то был бы признателен (можно на англ.).

У меня вообще никаких материалов нет. А если на пальцах — то на листе Excel жмем F5 (или Ctrl+G) — выделить — а дальше ставим нужные галки.

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

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


Копирование и вставка несвязных ячеек (диапазонов)

maxexcel

Дата: Понедельник, 24.10.2016, 20:25 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 26


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Всем привет! Необходимо копировать данные из несвязных ячеек (диапазонов) из «Лист1» в другие несвязные ячейки в «Лист2». Т.е. из «Лист1″поочередно выделяем ячейки B2, E9, F7, далее копируем значения из этих ячеек, затем в «Лист2» поочередно выделяем F10, C5, E3 и вставляем скопированные значения. Файл-пример как должно быть во вложении. Прошу помочь!

Сообщение отредактировал maxexcelПонедельник, 24.10.2016, 20:29

 

Ответить

KuklP

Дата: Понедельник, 24.10.2016, 21:36 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

В модуль листа1:
[vba]

Код

Public Sub www()
    Dim n&, c As Range, r As Range
    ReDim a(1 To Selection.Cells.Count)
    For Each c In Selection
        n = n + 1: a(n) = c.Value
    Next
    Set r = Application.InputBox(«Select destination cells», Type:=8)
    If r.Cells.Count = n Then
        n = 0
        For Each c In r.Cells
            n = n + 1:c = a(n)
        Next
    End If
End Sub

[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

maxexcel

Дата: Вторник, 25.10.2016, 14:27 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 26


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Добавил код в модуль в Лист1. Запускаю макрос, после того как выскочит окно «Select destination cells» , выбираю нужные ячейки, нажимаю ОК, затем перехожу на лист2, выбираю нужные ячейки, но вставить не получается, выдает ошибку. Файл во вложении.

К сообщению приложен файл:

7610697.xlsm
(19.2 Kb)

 

Ответить

KuklP

Дата: Вторник, 25.10.2016, 14:35 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Выделяете нужные ячейки на листе1, запускаете макрос — выбираете КУДА(destination) копировать — жмете ОК.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

maxexcel

Дата: Вторник, 25.10.2016, 16:01 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 26


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Супер СПАСИБО! Работает!

 

Ответить

Like this post? Please share to your friends:
  • Нерастяжимый пробел в word это
  • Нерастяжимый пробел в word для чего
  • Нерастяжимые пробелы в word что это
  • Неразрывный пробел неразрывный дефис в word
  • Неразрывный пробел код excel