我处于一个Worksheet
需要使用另一个Worksheet
上的行跟踪的情况。所以,如果用户删除了一个列(他们必须被允许执行),我需要删除另一个工作表中的相应行。这工作正常,下面的代码完成任务。如何判断用户是否正在删除或插入行 - Excel VBA
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Target.EntireRow.Address Then
Debug.Print Target.Address
Sheet2.Range("A1").Offset(, Target.Row - 1).EntireColumn.Delete
End If
End Sub
然而,当用户插入一行,而实际上,我需要一个排在这种情况下,添加到Sheet2
此相同的代码运行。如何判断用户在进行行操作时是插入还是删除?
[这里](HTTP:// stackoverflow.com/questions/12064439/vba-worksheet-change-detecting-actual-cell-change)是一个链接,讨论如何分辨实际发生的变化。主要观点是改变事件并没有跟踪改变了它的变化,所以接受的答案是保留一张镜像表来比较以反映变化。 – gtwebb