Ранее я создал функцию удаления, которая просматривает все листы в моей книге и ищет определенное значение в столбце «C». Я обновил свою рабочую книгу, переставив рабочие листы, чтобы конечному пользователю было легче переходить между листами.
Функция отлично работает для всех листов со значениями, пока не достигнет листов отчетности. Когда отчеты открыты, всплывает «Ошибка времени выполнения: 13 несоответствие». Это очень странно, потому что, когда я пытаюсь запустить ту же функцию, что и моя предыдущая книга, я не получаю «Ошибки времени выполнения», только то, что удаление сработало.
Как исправить этот код, чтобы не запускать ошибку времени выполнения?
Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim i As Long
Dim IDRef As String
IDRef = InputBox("Please enter the selected ID.")
If IDRef = vbNullString Then Exit Sub
For Each ws In ActiveWorkbook.Worksheets
For i = ws.Range("C" & ws.Rows.Count).End(xlUp).Row To 2 Step -1
With ws.Cells(i, "C")
If .Value = IDRef Then .EntireRow.Delete
End With
Next i
Next ws
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub