Как я могу правильно обрабатывать "1004" не найденных ячеек?
Привет,
Я просматривал этот форум и другие, чтобы найти подходящий ответ, но не наткнулся ни на один, который подходит или работает.
У меня есть следующий код:
'Filter data by PO and by material number For z = 2 To LastRowUqPO 'Filter by unique PO On Error GoTo ErrorM wbIT.Sheets("Bewerkingen").Range("A1:E" & LastRowBewerking).AutoFilter _ field:=2, Criteria1:=wbIT.Sheets("Bewerkingen").Range("G" & z).Value, Operator:=xlFilterValues On Error GoTo 0 For w = 2 To LastRowUqMat 'Filter by unique material number On Error GoTo ErrorL wbIT.Sheets("Bewerkingen").Range("A1:E" & LastRowBewerking).AutoFilter _ field:=3, Criteria1:=wbIT.Sheets("Bewerkingen").Range("H" & w).Value, Operator:=xlFilterValues On Error GoTo 0 ''Copy filtered data to new area On Error GoTo ErrorL Set rngCopy = wbIT.Sheets("Bewerkingen").Range("B2:C" & LastRowBewerking).SpecialCells(xlCellTypeVisible) If rngCopy Is Nothing Then GoTo NextL wbIT.Sheets("Bewerkingen").Range("B2:C" & LastRowBewerking).SpecialCells(xlCellTypeVisible).Copy On Error GoTo 0
Я добавил следующую обработку ошибок:
''Error handling for NextM ErrorM: If Err.Number = 1004 Then GoTo NextM Else On Error GoTo 0 End If ''Error handling for NextL ErrorL: If Err.Number = 1004 Then GoTo NextL Else On Error GoTo 0 End If
Хотя я считаю, что у меня есть много обработки ошибок, я все еще не могу пройти мимо этой части кода:
''Copy filtered data to new area On Error GoTo ErrorL Set rngCopy = wbIT.Sheets("Bewerkingen").Range("B2:C" & LastRowBewerking).SpecialCells(xlCellTypeVisible) If rngCopy Is Nothing Then GoTo NextL
Список объявлений:
Dim wbIT As Workbook Dim wbSAP As Workbook Dim wbPGTL As Workbook Dim DataFile As String Dim LastRow As Long Dim LastCol As Long Dim LastRowIO As Long Dim LastColIO As Long Dim LastRowIOP As Long Dim LastRowFY As Long Dim i As Long Dim w As Long Dim x As Long Dim y As Long Dim z As Long Dim Folder As String Dim StrFile As String Dim findrow As Range Dim findrownumber As Long Dim LastRowPGTL As Long Dim LastRowPO As Long Dim LastRowUnique As Long Dim LastRowBewerking As Long Dim LastRowUqPO As Long Dim LastRowUqMat As Long Dim LastRowUnq As Long Dim LastRowUnq2 As Long Dim FirstRowSum As Long Dim LastRowSum As Long Dim PotentialIssue As String Dim rngDupl() As Range Dim rngCell As Range Dim rngCheck As Range Dim lduplicates As Long Dim myPath As String Dim myStart As String Dim myFile As String Dim fileType As String Dim rngSort As Range Dim rngKey As Range Dim rngCopy As Range
Может быть, вы, ребята, видите, что я упускаю?
Ошибка: 1004 ячейки не найдены
Отфильтрованные данные действительно пусты, поэтому мне нужен код для перехода к следующей итерации цикла. В текущем коде неизбежно не будет видимых ячеек в определенной комбинации фильтров, но все они должны быть проверены.
Код отлично работает до тех пор, пока есть отфильтрованные значения.
Если вам потребуется дополнительная информация, я буду рад ее предоставить.
Заранее благодарю вас!
Что я уже пробовал:
Об ошибке GoTo NextL/NextM
если rngCopy - это ничто, то GoTo NextL/NextM
изменение настроек захвата ошибок в настройках Tools >