У меня есть цикл в нижней части моего кода, который успешно проходит мои данные и удаляет все строки, где столбец H = 0.Excel VBA - нужно удалить строки, где значения ячейки в столбце B, где заполнены ссылочные ошибки
Однако в столбце B отображается несколько ячеек, отображающих #REF!
. Мне также хотелось бы, чтобы этот цикл удалял эти строки таким же образом, как и 0 в столбце H.
Я думаю, что моя проблема не знает, как ссылаться на эти типы ошибок. Обработка #REF!
, как строка, кажется, не работает.
Спасибо!
Sub test()
Dim currentSht As Worksheet
Dim lastRow As Long
Dim lastCol As Long
Dim startCell As Range
Dim r As Integer
Set startCell = Sheets("Sheet1").Range("A1")
Set currentSht = ActiveWorkbook.Sheets("Sheet1")
lastRow = startCell.SpecialCells(xlCellTypeLastCell).Row '<~~ Not sure why, but do not use "Set" when defining lastRow
lastCol = startCell.SpecialCells(xlCellTypeLastCell).Column
For r = 1 To lastRow Step -1
If currentSht.Cells(r, "H").Value = 0 Or currentSht.Cells(r, "B").Text = "#REF!" Then
Rows(r).Select
Selection.EntireRow.Delete
End If
Next r
currentSht.Range(startCell, currentSht.Cells(lastRow, lastCol)).Select
End Sub
Try 'ISERROR (currentSht.Cells (r, "B")). –
также вы можете комбинировать строки удаления с 'Строками (r) .Delete' –
Вместо проверки свойства« Значение »проверьте свойство« Текст ». Это должно возвращать строку '#REF!'. –