我从该网站获得了此代码,但在将其格式化为我需要的使用方式时遇到问题。该代码最初仅适用于A 列和B,但我需要它适用于A:F 列,我将顶部部分修复为请参阅我的 A:F 列,但我的数组有问题,我是 VBA 新手,所以我不能 100% 确定它是如何工作的,我只知道我'我在那一行收到错误。这是我的代码。
Sub DeleteRows()
With ActiveWorkbook.Worksheets("MC RRRs")
Set Rng = Range("A:F").End(xlDown)
Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
End With
End Sub
最佳答案
要回答这个问题,您的问题在于这一行:
Set Rng = Range("A:F").End(xlDown)
不应使用 End 方法/属性,因为它会让您处理 Range("A:F")
中的最后一个单元格。
这意味着您只有一 (1) 个单元格可以处理,但您的下一行是:
Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
尝试删除两 (2) 列(或至少 2 个单元格)中的重复项。
此外,如果仅选择一 (1) 个单元格,将 Header 参数设置为 xlYes
也会生成错误。
另外,由于您使用的是 With Clause,请在 Range
前面加一个点。
像这样的东西:
Sub DeleteRows()
Dim Rng As Range
With ActiveWorkbook.Worksheets("MC RRRs")
Set Rng = .Range("A:F")
Rng.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), Header:=xlYes
End With
End Sub
关于excel - 删除重复数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27261696/