Страницы: 1
RSS
Перенос данных с одного листа на другой по определенному сценарию, Перенос данных с одного листа на другой по определенному сценарию
 
Добрый день, помогите пожалуйста построить макрос. Задача такая: есть журнал заказов, в который вносятся данные о заказе, и эти заказы хранятся на участке пока их не заберет склад, они их забирают хаотично, могут любой из списка забрать. Дак вот нужно такой макрос, что-бы когда в столбец  Дата отгрузки(E) вводили дату, вся строка автоматически переносился на следующий лист "Отгружено", а с этого листа удалялся полностью вместе с ячейками, что бы не образовывалось пустых мест и оставался порядок.
Изменено: Anri_amar - 20.04.2020 16:44:07
 
Anri_amar, в модуль листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
LR = Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Target, Range("E1:E" & LR)) Is Nothing Then
LR2 = Worksheets("Отгружены").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & Target.Row & ":E" & Target.Row).Copy Destination:=Worksheets("Отгружены").Range("A" & LR2 & ":E" & LR2)
Rows(Target.Row).Delete
End If
End Sub

Не бойтесь совершенства. Вам его не достичь.
 
Mershik, спасибо огромное, то что нужно, оказался код сложнее чем я думал, макрорекодором не смог добиться(((
 
Anri_amar, вариант .Если ввести не дату - строка не переносится
Код
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("На участке")
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [e:e]) Is Nothing And IsDate(Target.Value) Then 
        .Rows(Target.Row).Copy Sheets("Отгружены").Rows(WorksheetFunction.CountA(Sheets("Отгружены").[a:a]) + 1)
        .Rows(Target.Row).Delete
    End If
End With
End Sub
Изменено: casag - 20.04.2020 17:50:17
Страницы: 1
Наверх