Я пишу проблему VBA, которая находит строки, которые считаются недействительными, сохраняет номер строки в массиве с именем invalidRowsToDelete
и удаляет выбранные строки, создавая строка недопустимых строк (например, 1:1, 4:4, 7:7
).Выбор диапазона ячеек вызывает ошибку времени выполнения '1004'
Однако он иногда работает, иногда это не так, но с большей вероятностью не работает с большим количеством недопустимых строк.
Ошибка возвращается в: «Ошибка выполнения„1004“: Диапазон Метод объекта" _global»Ошибка на линии Set rng = Range(invalidRowsToDelete)
Public rng As Range
__________________________
Dim invalidRowsToDelete As String
Dim i As Long
For i = LBound(InvalidFilesArr) To UBound(InvalidFilesArr)
If InvalidFilesArr(i) <> "" Then
invalidRowsToDelete = invalidRowsToDelete & InvalidFilesArr(i) & ":" & InvalidFilesArr(i) & ","
Else
Exit For
End If
Next i
'Build range statement and delete trailing comma from rowsToDeleteStatement
invalidRowsToDelete = "" & Left(invalidRowsToDelete, Len(invalidRowsToDelete) - 1) & ""
Debug.Print invalidRowsToDelete
Worksheets("Sheet1").Activate
Set rng = Range(invalidRowsToDelete) #### Problem line
rng.Select
rng.Delete
Это было у меня довольно долгое время, и я не может решить причину его возникновения этой ошибки.
Благодаря
Мое предположение, хотя я не могу найти что-либо для его поддержки, заключается в том, что ваша строка слишком длинная и переполняет метод «range». – Degustaf
Предел, кажется, 255. –