2014-10-22 5 views
1

Я пытаюсь удалить дубликаты в конце макроса, который я написал в vba. Макрос выполняется, но когда дело доходит до точки удаления дубликатов, он говорит, что объект не поддерживает свойство или метод, когда объект Dimed как диапазон и также задан как диапазон. Я действительно смущен, почему это происходит, и я не могу понять, что вызывает эту ошибку. Я вставил код ниже, который вызывает ошибку и точку, в которой я задал объект диапазона. Любая помощь будет принята с благодарностью.Удалить дубликаты в VBA excel

Set WS = ThisWorkbook.ActiveSheet 
    With WS 
     Set Rng1 = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row) 
     Set rng2 = .Range("C1:D" & .Range("C" & .Rows.Count).End(xlUp).Row) 
    End With 

If UBound(WrdArray2) < 0 Then 
    ActiveSheet.rng2.RemoveDuplicates 
     End 
End If 
+1

Можете ли вы попробовать без 'ActiveSheet' на передней панели' rng2.RemoveDuplicates'? Если 'ActiveSheet' не является листом, в котором' rng2' является 'Set', это утверждение может вызвать ошибку. – Ioannis

ответ

1

Вместо

ActiveSheet.rng2.RemoveDuplicates 

Просто попробуйте ниже:

rng2.RemoveDuplicates 

Что вызывает ошибку, вы уже установили диапазон для объекта rng2 и rng2 не включает в ActiveSheet. То есть, rng2 - это отдельный объект, созданный вами и не являющийся собственностью Activesheet.

Смежные вопросы