Доброго времени суток! Прошу помочь в разрешении проблемы. Дан лист GeMS где в ячейках А и B пополняются данные, с ними производятся манипуляции анализа.После чего данные удаляются. Необходим макрос который бы после манипуляций копировал(Через кнопку) в лист LOG данные ячеек А и В, а в ячейки C, D, E проставлял имя пользователя, дату, время соответственно. Количество данных постоянно меняется но не превышает 100 строк.
foxster_72, не очень понятно что конкретно хотите ..возможно так. старые данные стираются
Код
Sub copy_AB()
Dim lr As Long
Dim rng As Range
Dim sh As Worksheet
Set sh = Worksheets("LOG")
sh.Range("C:E").Clear
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range(Cells(1, 1), Cells(lr, 2))
sh.Range("c1") = Application.UserName & " " & Now
rng.Copy Destination:=sh.Range("d1")
End Sub
Mershik, Согласен, несколько неправильно поставил задачу. Копируются данные начиная со второй строки ( (A2:A100);(B2:B100) в листе GeMS. После копирования в листе GeMS необходимо удалить данные (A2:A100);(B2:B100). То есть в листе LOG должны накапливаться скопированные данные, но количество их постоянно меняется. То есть количество строк с данными 10, копируем в лист LOG, удаляем в листе GeMS (A2:A100);(B2:B100), новое количество данных 5, перебираем строки в листе LOG пока не найдём пустую( в данном случае 11 строку т.к у нас уже есть 10 скопированных)/
Dim lr As Long
Dim rng As Range
Dim sh As Worksheet
Set sh = Worksheets("LOG")
lr = Cells(Rows.Count, 1).End(xlUp).Row
lr2 = sh.Cells(Rows.Count, 5).End(xlUp).Row
Set rng = Range(Cells(2, 1), Cells(lr, 2))
sh.Range("c" & lr2 + 1) = Application.UserName & " " & Now
rng.Copy Destination:=sh.Range("d" & lr2 + 1)
Range(Cells(2, 1), Cells(lr, 2)).ClearContents
End Sub