excel - 删除重复数组问题

标签 excel vba

我从该网站获得了此代码,但在将其格式化为我需要的使用方式时遇到问题。该代码最初仅适用于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/

相关文章:

vba - 如何在 MS Access 表单上动态保持控件居中(相对位置)?

excel - 根据单元格值将行从一张 Excel 工作表复制到另一张 Excel 工作表

vba - 我可以获得与 DateTime.Now.Ticks 等效的 VBA 吗?

java - 使用java POI将巨大的数据二维数组写入excel文件

php-excel-reader - UTF-8 问题

vba - 在 VBA 和 Excel 中使用范围

vba - 将所选项目更改为下一个或上一个

excel - 1004错误:未找到任何单元格,容易解决吗?

excel - 具有增量行和列的 VBA Excel 循环

excel - 将网页链接添加到 Excel 散点图上的每个数据点或数据标签