2015-05-25 3 views
1

Я хочу удалить каждую строку, содержащую #REF в столбце A.Удалить все строки с #REF Использование VBA

Мой код работает только с value, и не работает с #REF.

Dim varFindThis As Variant 
Dim rngLookIn As Range 
Dim f As String 

varFindThis = Worksheets("Suivi2").Range("B1") 

Set rngLookIn = Worksheets("Suivi2").Range("A:A") 

If Not rngLookIn.Find(varFindThis, LookIn:=xlValues) Is Nothing Then 

    f = Worksheets("Suivi2").Range("B1").Value 

'Since i didn't got that clear, here above you must create a code to declare "f" as whatever you want 

    Set c = Worksheets("Suivi2").Range("A:A").Find(f) 
     Worksheets("Suivi2").Range(c.Address).EntireRow.Delete 

End If 
+0

Есть ли другие потенциальные ошибки на листе? – Jeeped

ответ

0

Вы можете использовать Range.SpecialCells method, чтобы быстро найти все ошибки в Worksheet.UsedRange property.

on error resume next 
with Worksheets("Suivi2").Columns(1) 
    if not .specialcells(xlCellTypeFormulas, xlErrors) is nothing then _ 
     .specialcells(xlCellTypeFormulas, xlErrors).EntireRow.Delete 
end with 
on error goto 0 
+0

Большое спасибо !!! Ты замечательный)))) Он работает;) – werwq

+0

У меня все еще есть одна проблема, когда нет ячеек с ошибкой, это напишет мне ошибку VBA «Cellule not found». Как я могу избежать этого? – werwq

+0

Вы можете указать, что процесс должен просто возобновить обработку, если возникла ошибка. См. Мое редактирование выше. – Jeeped

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