根据列K

时间:2015-10-26 16:07:26

标签: excel excel-vba excel-formula vba

我在“待处理”表单上有一张待处理的采购订单。收到订单后,我输入收到的日期。输入日期后,我希望将整行移到“收到”表格。有人可以帮忙吗?我需要在工作中提高这个日志的效率。

信息在b7:k50。我将日期列入的列是“k”。

1 个答案:

答案 0 :(得分:0)

我不是100%了解您的数据设置,但这是一个解决方案:

当我们向列KK2:K50)添加日期时,它会将行移至“CompletedOrders”工作表。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.CountLarge > 1 Then Exit Sub
If Target.Value = vbNullString Then Exit Sub
'If we change a value in Range("K2:K50")
If Not Intersect(Target, Range("K2:K50")) Is Nothing Then
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    'Copy Range A:K on the Target Row
    Range("A" & Target.Row & ":" & "K" & Target.Row)).Copy
    'Paste it to the CompletedOrders Sheet, column A (after the last row)
    Sheets("CompletedOrders").Range("A" & Sheets("CompletedOrders").UsedRange.Rows.Count + 1).PasteSpecial
    'Delete the row we just copied from the Pending Orders Sheet
    Target.EntireRow.Delete (xlShiftUp)
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End If

End Sub
在点击输入之前

PendingOrders表:

Completed1

CompletedOrders表:

Completed2