Activesheet。“SomeRange”.RemoveDuplicates如果不是“特定”范围则返回错误

时间:2018-04-27 12:35:54

标签: excel vba

如果我具体指定范围,例如:

ActiveSheet.Range("C3","G20").RemoveDuplicates Columns:=Array(1), Header:=xlNo  

代码完美无缺。但是,如果我改为尝试使用:

ActiveSheet.Selection.RemoveDuplicates Columns:=Array(1), Header:=xlNo  

Dim selRange as Range
Set selRange = Selection
ActiveSheet.selRange.RemoveDuplicates Columns:=Array(1), Header:=xlNo

它不起作用。我得到了

  

运行时错误'438':对象不支持此属性或方法。

我无法使用特定范围,因为它一直在变化,因此我只需删除当前选择的重复项。有没有人有任何解决这个问题的技巧?

2 个答案:

答案 0 :(得分:2)

您可以使用:

ActiveSheet.Range(Selection.Address).RemoveDuplicates Columns:=Array(1), Header:=xlNo

关键是添加.Address

答案 1 :(得分:1)

使用:

Selection.RemoveDuplicates Columns:=Array(1), Header:=xlNo

没有ActiveSheet. ActiveSheet没有Selection属性/方法。