删除重复项excel vba
问题描述:
我试图使用下面的代码删除重复项。但我没有得到期望的输出。除重复数据外,其他数据也会被删除。删除重复项excel vba
Sub account()
Dim d As String
Call Pvt_Account(192, 8)
End Sub
Sub Pvt_Account(RowNumber As Integer,sheetnumber As Integer)
Worksheets(sheetnumber).Activate
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
m = RowNumber
CellNumber = 2
For i = 1 To NumRows - 1
Sheet2.Range("C" & RowNumber) = Application.WorksheetFunction.CountIf(Range("F2:F" & NumRows), Cells(CellNumber, 6))
Sheet2.Range("b" & RowNumber) = Worksheets(sheetnumber).Range("f" & CellNumber)
RowNumber = RowNumber + 1
CellNumber = CellNumber + 1
Next i
Worksheets(2).Activate
r = (m + NumRows) - 2
Range("B" & m & " :C " & r).RemoveDuplicates Columns:=Array(2), Header:=xlYes
End Sub
答
在
Range("B" & m & " :C " & r).RemoveDuplicates Columns:=Array(2), Header:=xlYes
,我想你会想Columns:=Array(1)
代替,即从范围Bm:Cr
,这是B
的第一列删除重复。 :C
之后的空格也应该删除。
+0
KimPhúNgô,非常感谢您的解决方案。它现在可以工作,并感谢丹的快速响应。 – Alfy
您正在调用'Pvt_Account_Disablement',但您的'sub'被命名为'Pvt_Account'?此外,“没有得到理想的结果”是什么意思?请明确解释发生了什么问题!同样在将来确保缩进代码 – Dan
Dan,感谢您的快速响应。子名,我错误地给了,现在我已经纠正了它。但我面临的问题是,所需数据与重复数据一起被删除。我没有得到任何语法错误,但我想一些逻辑错误。 – Alfy
你的代码不太容易遵循,我可以建议你添加一个解释,说明它在做什么(更详细),还有你使用更具表现力的变量名称。例如,'p'应该被称为'worksheetNumber'。如果你也为'm','k','j'和'r'给出了类似的明确名称,那么你的代码将更容易阅读。 – Dan