Добрый день, помогите пожалуйста построить макрос. Задача такая: есть журнал заказов, в который вносятся данные о заказе, и эти заказы хранятся на участке пока их не заберет склад, они их забирают хаотично, могут любой из списка забрать. Дак вот нужно такой макрос, что-бы когда в столбец Дата отгрузки(E) вводили дату, вся строка автоматически переносился на следующий лист "Отгружено", а с этого листа удалялся полностью вместе с ячейками, что бы не образовывалось пустых мест и оставался порядок.
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
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