SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Nickolasha Цитата: а что подразумевается под "номер первой колонки" "номер второй колонки"? | sun888 поздразумевал, что у Вас в одном столбце встречается "0" а в другом - "#Н/Д" Вот только я не рекомендую пользоваться этим макросом!!! 1) он просто не рабочий!!!!!! 2) зачем перебирать 10000 строк!??! до последней использованной строки вполне достаточно будет. например так: Код: Sub WithErrorCells() Dim n1, n2, i, MaxRow As Long n1 = 2 'номер колонки, где прописаны формулы ВПР (где есть #Н/Д) MaxRow = Cells.SpecialCells(xlCellTypeLastCell).Row For i = 1 To MaxRow If IsError(Cells(i, n1)) Then With Range(Cells(i, 1), Cells(i, 10)).Interior .ColorIndex = 3 'Красный цвет' .Pattern = xlSolid End With End If Next i End Sub | для удаления строчек с "#Н/Д" сделайте обратный цикл от MaxRow к 1 и вместо выделения цветом - удаление всей строки Cells(i, 1).EntireRow.Delete Добавлено: вот, для удаления Код: Sub DeleteErrorCells() Dim n1, i, MaxRow As Long n1 = 2 'номер колонки, где прописаны формулы ВПР (где есть #Н/Д) MaxRow = Cells.SpecialCells(xlCellTypeLastCell).Row For i = MaxRow To 1 Step -1 If IsError(Cells(i, n1)) Then ' ОБРАТИТЕ ВНИМАНИЕ - УДАЛЯЕТСЯ ВСЯ СТРОКА!! Т.е. на ней не должно быть нужных данных!!! Иначе удаляйте только часть ячеек! Примеры были тут совсем недавно! Cells(i, 1).EntireRow.Delete End If Next i End Sub | ВНИМАНИЕ! Перед выполением макроса лучше сохранится - откат действий, произведенных в макросе НЕВОЗМОЖЕН! |