【发布时间】:2020-10-29 09:48:40
【问题描述】:
我有以下简单的循环来从各个列中删除重复项。但是,它仅适用于第一次迭代 i = 1。第二次迭代i = 2给了
Application_defined 或 object_defined 错误。
代码基本上是从微软的网站上复制的。因此,我不确定为什么它不起作用。
Sub remove_dup()
Dim i As Integer
For i = 1 To 33
Range(ActiveSheet.Cells(1, i), ActiveSheet.Cells(100, i)).RemoveDuplicates Columns:=i, Header:=xlNo
Next i
End Sub
【问题讨论】:
-
只用
Columns:=1,(而不是Columns:=i) -
问题的原因是
Range(ActiveSheet.Cells(1, i), ActiveSheet.Cells(100, i))只有一列。因此,如果i = 2Columns:=i尝试删除该范围的第二列中的重复项(不存在,它只有一列)。