我有一本工作簿,其中包含大量工作表,旨在帮助我的团队更有效地管理他们的工作量。
当有人请求完成一项工作时,会在名为“待授权”的工作表中添加一行
然后,团队在添加的“N”列下的每一行/记录上都有一个下拉框,可以接受或拒绝该工作。
如果团队接受了这项工作,那么它将被转移到另一张名为“待处理工作”的工作表,并从待处理授权工作表中删除记录。执行此操作的代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
Dim Lastrow As Long
Lastrow = Sheets("Status Check").Cells(Rows.Count, "N").End(xlUp).Row + 1
If Target.Value = "Accepted" Then
Rows(Target.Row).Copy Destination:=Sheets("Pending Work").Rows(Lastrow)
Rows(Target.Row).Delete
End If
End If
End Sub
虽然这种方法效果很好,但实际上我只想将此行的某些单元格复制到另一个工作表,而不是整行。有没有简单的方法可以只选择每行中的某些单元格进行复制?
答案1
您无需复制整行,只需复制从行Range("X" & Target.Row)
到行即可Range("Y" & Lastrow)
(其中 X 和 Y 分别表示源列和目标列)