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.
我正在尝试删除电子表格 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.