VBA Excel .RemoveDuplicates 和 .Range 语法

VBA Excel .RemoveDuplicates and .Range syntax

我正在尝试删除电子表格 A 列中的所有重复项。到目前为止,这是唯一对我有用的东西:

ActiveSheet.Range("A1:B100").RemoveDuplicates Columns:=Array(1, 1), Header:=xlNo

我的目标是能够select 仅包含 A 列中具有值 的单元格,然后删除重复项。我试过这个:

ActiveSheet.Range("A1", Range("A1").End(xlDown)).RemoveDuplicates Columns:=Array(1, 1), Header:=xlNo

我收到 "invalid procedure call or argument" 错误。另外,我也试过:

ActiveSheet.range("A1:A100").RemoveDuplicates Columns:=Array(1, 1), Header:=xlNo

仅 select 列 'A' 的前 100 个单元格,我也遇到了同样的错误。我做错了什么?

如果只想处理单个列的已用部分:

Sub OnlyColumnA()
    Dim N As Long

    N = Cells(Rows.Count, "A").End(xlUp).Row
    ActiveSheet.Range("A1:A" & N).RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

备注:

在此代码中,N 定义了第 A 列中包含数据的最后一个单元格的行号。因此,如果列 A 中包含数据的最后一个单元格是单元格 A35,则 N 将具有值35.

因此表达式 Range("A1:A" & N)Range("A1:A35") 相同,但没有硬编码 35.