Страницы: 1
RSS
Поиск ошибок макросом, поиск ячеек "#N/A" с недоступным значением
 
Доброго времени суток!
Имеется таблица учета запчастей. В один из столбцов вводят заводские номера, по которым с помощью функций ПСТР и ВПР в соседние ячейки подтягивается артикул. Ошибся цифрой в номере -- вместо артикула получаешь дулю. Набросал макрос, который должен подобные косяки ловить. Не ловит. Ругается на седьмую строку.

Код
Private Sub FindError_Click()
    Dim MatRange As Variant, LogRange As Variant, Mt As Variant, Lg As Variant
    Set MatRange = Sheets("QC2016").Range("B2:B100")
    Set LogRange = Sheets("QC2016").Range("C2:C100")
        For Each Lg In LogRange
            For Each Mt In MatRange
                If Lg.Value > 0 And Mt.Value = "#N/A" Then Lg.Interior.Color = &H4ECF6A
            Next Mt
        Next Lg
End Sub

Про условное форматирование в курсе, но решить желается макросом. В исходнике и без этого форматирования хватает.
 
Здравствуйте.
Если в ячейке ошибка - то и будем ловить ошибку
Код
If Lg.Value > 0 And IsError(Mt) Then Lg.Interior.Color = &H4ECF6A

Другое дело, что надо выделять при пойманной ошибке (зачем цикл в цикле)?
Кому решение нужно - тот пример и рисует.
 
Задумано, что заливается соседняя ячейка. В которую, собственно, и ввели неправильный код. И макрос пробегает по двум столбцам: по введенным номерам и полученным артикулам.
Изменено: vastsv - 29.04.2016 11:46:12
 
Тогда зачем двойной цикл - можно через offset
Код
            For Each Mt In MatRange
                If Mt.OffSet(0,-1) > 0 And isError(Mt) Then Mt.OffSet(0, 1).Interior.Color = &H4ECF6A
            Next Mt
Изменено: Пытливый - 29.04.2016 11:50:56
Кому решение нужно - тот пример и рисует.
 
Спасибо, выручили! Не додумался про смещение, опыта маловато.
 
Код
Private Sub FindError_Click()
    Dim MatRange As Variant, Mt As Range
    Set MatRange = Sheets("QC2016").Range("B2:B100")
            For Each Mt In MatRange.Cells
                If IsError(Mt.Value) = True Then Mt.Offset(, 1).Interior.Color = &H4ECF6A
            Next Mt
End Sub

 
Изящно! Мне до такого еще ой как неблизко.
Страницы: 1
Наверх