我使用下面的代码几天了,它工作得很好,今天早上我突然收到“应用程序定义的 r 对象定义错误”,我试图使用“作业”选项卡中的第一列删除重复项。如果重要的话,数据就在表格中。但奇怪的是,前几天它工作得很好,我不相信有任何改变。
Worksheets("Assignments").Activate
ActiveSheet.UsedRange.RemoveDuplicates Columns:=1, Header:=xlYes
最佳答案
如果工作表上有一个表并且表外有数据,我可以重现该问题。我在 A1:C4 中放置了一个表格,然后用数据填充了单元格 G15。当我运行RemoveDuplicates时,我收到了应用程序定义的错误。我想这意味着您无法删除包含表格的范围内的重复项,除非该范围和表格完全相同。
我通常只在有特定原因的情况下使用UsedRange,因为它有点不可靠。它永远不会比您需要的小,但有时会更大。如果您想删除表上的重复项,请明确指出该表的范围。
ActiveSheet.ListObjects("MyTable").Range.RemoveDuplicates 1, xlYes
关于excel - 使用 VBA 删除重复项不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69225145/