我无法让下面的功能工作。理想情况下,我想创建一个函数,它将自动识别工作表中已使用的列数,然后将其作为数组传递给删除重复项。我不明白为什么它不起作用。我可以确认这些工作表有标题和多行。当我尝试使用数组删除重复项时,我继续收到错误5。
ReDim colary(1 To wbDestination.Sheets(1).Range("XX1").End(xlToLeft).Column)
For i = 1 To UBound(colary)
colary(i) = i
Next i
wbDestination.Sheets(1).Range("$A$1:" & wbDestination.Sheets(1).Range("A1").SpecialCells(xlCellTypeLastCell).Address).RemoveDuplicates Columns:=Evaluate(colary), Header:=xlYes
既然你想要创建一个函数,这是一个方法
Sub RemoveDupes(ByVal entireRng As Range, ByVal col As Integer, Optional ByVal containsHeaders As Boolean = True)
Dim retVal As Integer
If containsHeaders = True Then
retVal = xlYes
Else
retVal = xlNo
End If
entireRng.RemoveDuplicates Columns:=col, Header:=retVal
End Sub
这个例程并不是简单的输入工作,但你可以根据自己的意愿使用它。
如果要检查多个列,那么对于col
变量,您可以传递一个数组。