2016-12-01 23 views
1

我有一個列表,有時候會出現重複的事情,通常會刪除重複項,並且沒有問題。這次我發現我有一個常用的字符串,並且不希望這些字符串中的任何字符串在它們具有相同數量的情況下被刪除。代碼就像Excel 2010按字符串過濾以防止通過刪除重複項來刪除它們

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,我需要所有的折扣,使一切正常加起來。

+0

您可以對數據進行排序,將折扣放在最後,設置範圍以排除它們,刪除重複項,然後重新排序到原始序列? – B540Glenn

回答

2

一種方法:

在開始或結束對數據進行折扣排序。

過濾隱藏折扣的數據。

使用Selection.SpecialCells(xlCellTypeVisible).Select選擇所有不是 的折扣。

刪除所選範圍內的重複項。

刪除重複項和排序不適用於多個範圍,因此在一個塊中獲得折扣而不選擇它們非常重要。