【问题标题】:Excel 2010 Filter by string to prevent them being deleted by remove duplicatesExcel 2010 按字符串过滤以防止通过删除重复项来删除它们
【发布时间】:2016-12-01 22:59:47
【问题描述】:

我有一个列表,有时有重复的东西通常会被删除,删除重复项没有问题。这次我发现我有一个常用的字符串,并且不希望这些字符串中的任何一个被删除,以防它们具有相同的数量。代码是这样的

Dim Rng As Range
Dim Rw As Long

Rw = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.AutoFilterMode = False
Set Rng = Range("A3:K" & Rw)
With Rng
    .AutoFilter
    .AutoFilter Field:=1, Criteria1:="<>*Discount*", Operator:=xlAnd
End With

ActiveSheet.Range("$A$1:$C$1000").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
ActiveSheet.AutoFilterMode = False

此代码隐藏了“折扣”,但当它删除重复项时,它会跳过过滤器并将它们删除。从显示到 excel 的数据来看,它们完全相同,但数据来自 QuickBooks,我需要所有折扣才能使所有内容正确叠加。

【问题讨论】:

  • 您能否对数据进行排序,将折扣放在最后,设置您的范围以排除它们,删除重复项,然后重新排序到原始序列?

标签: vba excel filter


【解决方案1】:

一种方法:

对数据进行排序,将折扣放在开头或结尾。

过滤隐藏折扣的数据。

使用Selection.SpecialCells(xlCellTypeVisible).Select 选择所有内容 打折。

从选定范围中删除重复项。

删除重复项和排序不适用于多个范围,因此在一个块中获取折扣而不选择它们很重要。

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 2021-12-07
    • 1970-01-01
    • 2023-03-07
    • 2023-04-06
    • 2012-06-26
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    相关资源
    最近更新 更多