enter image description here我认为无论如何都不能与地雷相提并论,
区别是根据单元格值从一个以上的页面复制到另一个页面,而不是使用宏VBA而是使用
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range).
事实上,我尝试过此方法,但效果不佳:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each Sh In ThisWorkbook.Sheets
If Not Sh.Name = "Archive" Then
If Cells(Target.Row, 3) = "delivered" Then Cells(Target.Row, 3).EntireRow.Copy Sheets("Archive").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0)
End If
Next Sh
End Sub
感谢您的帮助。
答案 0 :(得分:0)
我在此发布问题的解决方案,谢谢PEH,也感谢论坛成员。
Private Sub Workbook_SheetChange(ByVal Sh作为对象,ByVal目标作为范围) 如果不是Sh.Name =“ Archive”,则 lastcolumn =单元格(1,Columns.Count).End(xlToLeft).Column 如果Sh.Cells(Target.Row,3)=“已交付”并且Sh.Cells(Target.Row,lastcolumn)<>“”然后 范围(Cells(Target.Row,1),Cells(Target.Row,lastcolumn))。 Sheets(“ Archive”)。Range(“ A”&Rows.Count).End(xlUp).Offset(1) 万一 万一 结束