excel - 使用 VBA 删除重复项不再起作用

标签 excel vba

我使用下面的代码几天了,它工作得很好,今天早上我突然收到“应用程序定义的 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/

相关文章:

没有 VBA 的 Excel 排列表

vba - Excel、VBA : Clear memory

vba - 将多个 .xls 文件合并到一张表中

excel - 在 VBA 中将 300 个字符的字符串转换为唯一可识别的 8 个字符的字符串

arrays - 在VBA中动态追加数组

Excel函数将所有实际成本加上没有计算列的空白行的估计值相加

excel - 将 1 长单列转换为 2 列以便在 excel 中打印

vba - 如何在Excel工作簿之间复制和粘贴工作表?

VBA 连接字符串与日期

vba - Excel VBA : Transpose different parts of a string