Добрый вечер! Сразу к делу! Необходимо скопировать данные из листа "исходные данные" в лист "шаблон" путем выбора строк. Все листы находятся в одной книге эксель. Т.е. выделяю строку № 3, затем зажимаю Ctrl, выделю 6 и 7 строки. Нажимаю кнопку "копировать данные в шаблон" на которую привязан макрос. Данные копируются. Нюанс в том, что данные копируются только из определенных столбцов листа "исходные данные" в другие определенные столбцы листа "шаблон", а не вся строка. Прикрепил файл " как должно быть". В нем я указал как должны копироваться данные. Применительно к файлу еще раз объясню: выделяю строку № 3, затем зажимаю Ctrl, выделю 6 и 7 строки. Нажимаю кнопку "копировать данные в шаблон" на которую привязан макрос (данной кнопки в файле нет, т.к. нет макроса). Данные копируются из листа "исходные данные" по строкам 3,6,7 из столбцов B,D,E.(т.е. ячейки B3;B6;B7;D3;D6;D7;E3;E6;E7) в лист "шаблон" в строки (здесь не обязательно чтобы именно в строки 3,6,7, нужно их упорядочить подряд, например со строки 2, т.к. первая строка это шапка шаблона) и в столбцы D,G,K (т.е. ячейки D2;D3;D4;G2;G3;G4;K2;K3;K4). Уважаемые форумчане, что можете посоветовать, как мне написать макрос. Есть такой макрос, но он копирует только всю сроку, и невозможно выбрать их по отдельности. Мне кажется он совсем не подходит.
Добрый вечер! Сразу к делу! Необходимо скопировать данные из листа "исходные данные" в лист "шаблон" путем выбора строк. Все листы находятся в одной книге эксель. Т.е. выделяю строку № 3, затем зажимаю Ctrl, выделю 6 и 7 строки. Нажимаю кнопку "копировать данные в шаблон" на которую привязан макрос. Данные копируются. Нюанс в том, что данные копируются только из определенных столбцов листа "исходные данные" в другие определенные столбцы листа "шаблон", а не вся строка. Прикрепил файл " как должно быть". В нем я указал как должны копироваться данные. Применительно к файлу еще раз объясню: выделяю строку № 3, затем зажимаю Ctrl, выделю 6 и 7 строки. Нажимаю кнопку "копировать данные в шаблон" на которую привязан макрос (данной кнопки в файле нет, т.к. нет макроса). Данные копируются из листа "исходные данные" по строкам 3,6,7 из столбцов B,D,E.(т.е. ячейки B3;B6;B7;D3;D6;D7;E3;E6;E7) в лист "шаблон" в строки (здесь не обязательно чтобы именно в строки 3,6,7, нужно их упорядочить подряд, например со строки 2, т.к. первая строка это шапка шаблона) и в столбцы D,G,K (т.е. ячейки D2;D3;D4;G2;G3;G4;K2;K3;K4). Уважаемые форумчане, что можете посоветовать, как мне написать макрос. Есть такой макрос, но он копирует только всю сроку, и невозможно выбрать их по отдельности. Мне кажется он совсем не подходит.
maxexcel, привет попробуйте вот так, например [vba]
Код
Sub ttt() Dim r As Range, lr As Long, i As Long If TypeName(Selection) <> "Range" Then Exit Sub With Sheets("шаблон") For Each r In Selection.Areas lr = .Cells(Rows.Count, 4).End(xlUp)(2, 1).Row i = r.Rows.Count .Cells(lr, 4).Resize(i).Value = r(1, 2).Resize(i).Value .Cells(lr, 7).Resize(i).Value = r(1, 4).Resize(i).Value .Cells(lr, 11).Resize(i).Value = r(1, 5).Resize(i).Value Next End With End Sub
[/vba] (так выглядит текст с тегами Код. попробуйте так же отредактировать свое сообщение)
maxexcel, привет попробуйте вот так, например [vba]
Код
Sub ttt() Dim r As Range, lr As Long, i As Long If TypeName(Selection) <> "Range" Then Exit Sub With Sheets("шаблон") For Each r In Selection.Areas lr = .Cells(Rows.Count, 4).End(xlUp)(2, 1).Row i = r.Rows.Count .Cells(lr, 4).Resize(i).Value = r(1, 2).Resize(i).Value .Cells(lr, 7).Resize(i).Value = r(1, 4).Resize(i).Value .Cells(lr, 11).Resize(i).Value = r(1, 5).Resize(i).Value Next End With End Sub
[/vba] (так выглядит текст с тегами Код. попробуйте так же отредактировать свое сообщение)nilem
Яндекс.Деньги 4100159601573
Сообщение отредактировал nilem - Суббота, 01.08.2015, 08:03