Sub main()
Dim count As Integer
Dim i As Integer
count = Range("Q" & Rows.count).End(xlUp).Row
MsgBox count
For i = 2 To count
If Cells(i, "Q").Value = 2 Then
Sheets(1).Rows(i).EntireRow.Delete
End If
Next i
End Sub
Почему код не работает сразу?Когда я выполняю приведенный выше код VBA в Excel, он удаляет некоторые строки и затем завершает работу с этим сообщением:
run time error 13
Что это значит?Иногда я получаю это сообщение:
type mismatch
В приведенном выше коде VBA я хочу удалить строки, у которых значение столбца Q
равно 2, но оно не работает.Не могли бы вы сообщить мне, где ошибка?
Позвольте мне рассказать вам, что происходит.Код работает, но он удаляет некоторые строки и прерывается с ошибкой времени выполнения 13. Когда я открыл свой файл EXCEL, чтобы увидеть столбец Q, я заметил, что некоторые строки столбца Q имели #REF!
.
Я думаю, что это может быть причиной, но как мне справиться с этим?Как мне заставить мой код работать правильно?У меня есть столбец Q, состоящий из 1,2 значений в нем.Строка столбца Q, содержащая 2, должна быть удалена, я имею в виду всю строку.