Я работаю в коде в Excel VBA, чтобы удалить строки, если значение длины ячейки не равно 10
Я пытаюсь избежать использования фильтров, потому что я использую файл, который содержит около 1 миллионастрок, а при использовании фильтров Excel вылетает.
это то, что мне нужно
Например:
Столбец A содержит идентификационные номера,
но если длина ячейки с идентификатором не 10 символов
Я хочу удалить строку, эта строка мне не нужна
Я обыскал форумы и собрал несколько кодов длясоздайте следующий код
Sub DeleteRows()
Dim c As Range
Dim LR As Integer
Dim i As Integer
Dim sht As Worksheet
Set sht = Worksheets(2)
LR = sht.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To LR
For Each c In sht.Range("A2:A" & LR).Cells
If Len(c.Value) <> 10 Then
c.EntireRow.Delete
End If '<---------here is the error
Next
Next
Range("A1").Select
End Sub
, когда макрос работает, он застрял, я должен нажать ESC , чтобы остановить макрос, и ошибка появляется в строке End If
Этот макрос удаляет строки, которые не соответствуют условию длины, когда я нажимаю кнопку ESC
Есть ли решение в этом коде? или существует лучший метод для удаления строк без использования фильтров?