Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2019, 10:00   #1
Aalleks
Новичок
Джуниор
 
Регистрация: 22.01.2019
Сообщений: 2
Радость Прошу помочь создать макрос по копированию

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

Исходные данные следующие:
Имеется таблица разных значений (много строк много столбцов), необходимо выбрать диапазон из нескольких строк (допустим 100 строчек), в этот диапазон строчек необходимо вставить после каждой строки ещё 10 новых строчек (получится 1000 строчек), при этом необходимо скопировать в эти 10 новых строчек информацию из другого диапазона 10 выбранных строчек (скопированных).
То есть выбрал 10 строчек которые надо скопировать, нажал кнопку скопировать (они поместились в буфер обмена копирования), после этого выбираю диапазон строк, в который нужно вставить эти 10 строк после каждой строчки (допустим диапазон из 100 строчек). Нажимаю на кнопку выполнить макрос и он добавляет в выбранном диапазоне после каждой строчки 10 строк и копирует в них информацию из 10 скопированных строк.
Вроде коротко описал, если что-то не понятно спрашивайте, поясню.
Сам пробовал трекером создать это копирование, но не получается. так ка он в одно и тоже место всегда вставляет 10 строк и в них копирует, и какие изменения надо внести не совсем понимаю так как в VBA вообще ни чего не понимаю.
За ранее благодарю тех кто сможет помочь.
Aalleks вне форума Ответить с цитированием
Старый 22.01.2019, 12:23   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от Aalleks Посмотреть сообщение
выбрал 10 строчек которые надо скопировать, нажал кнопку скопировать (они поместились в буфер обмена копирования), после этого выбираю диапазон строк, в который нужно вставить эти 10 строк после каждой строчки (допустим диапазон из 100 строчек). Нажимаю на кнопку выполнить макрос...
Скопированный диапазон программно недоступен, поэтому приходится применять обходной маневр: после первой вставки определять вставленный диапазон и копировать уже его.
Учтите, что макрос работает только с кнопки на панели или горячей клавиши, т.к. при вызове окна "Макросы" режим копирования слетает.
Код:
Sub Aa()
Dim rCopy As Range, c As Range, i&
  If Application.CutCopyMode <> xlCopy Then
    MsgBox "Скопируйте диапазон строк и запустите макрос снова", vbExclamation
    Exit Sub
  End If
  On Error GoTo 1
  Application.ScreenUpdating = False
  Set c = Selection.Rows(Selection.Rows.Count + 1)
  For i = Selection.Row + Selection.Rows.Count To Selection.Row + 1 Step -1
    Rows(i).Insert
    If rCopy Is Nothing Then Set rCopy = Range(Rows(i), Rows(c.Row - 1))
    rCopy.Copy
  Next
  Application.CutCopyMode = False
1 Application.ScreenUpdating = True
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 22.01.2019 в 12:25.
Казанский вне форума Ответить с цитированием
Старый 24.01.2019, 04:51   #3
Aalleks
Новичок
Джуниор
 
Регистрация: 22.01.2019
Сообщений: 2
По умолчанию

Спасибо большое. Запустил. Прицепил кнопку к макросу. Выделяю 10строчек. Нажимаю копировать, выделяю диапазон куда копировать. И вкаждую строчку в выбранном диапазоне вставляются 10 скопированных строк.
Пока всё работает замечательно.
Ещё раз спасибо.
Aalleks вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать макрос. С чего начать? Прошу совета kzld Microsoft Office Excel 4 13.05.2015 14:31
Алгоритмы. Не прошу решить. Прошу помочь! pascaluser Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2012 08:45
Макрос по копированию latana Microsoft Office Excel 0 11.07.2012 17:53
Макрос по копированию строки, в зависимости от даты Feller Microsoft Office Excel 2 02.11.2011 19:30
Макрос по копированию данных из другого фаила Devourer12345 Microsoft Office Excel 30 17.07.2008 04:54