Добрый день, что-то запуталась в трех соснах. Макрос ругается на предмет End If, мол нету для него IF, хотя вроде бы для каждого есть.. Это кусок кода, без него макрос работает нормально. Взгляните плиз, где ошибка?
Код
...
If checkcolumn Then 'если стоит чекбокс - то проверяются 3 нижестоящие условия. Если Нет- то проверку пропускаем.
If r1.Column <> 5 Then MsgBox "error r1", vbCritical
Exit Sub
End If
If r2.Column <> 6 Then MsgBox "error r2", vbCritical
Exit Sub
End If
If r3.Column <> 7 Then MsgBox "error r13", vbCritical
Exit Sub
End If
End If
'если соблюдены все 3 условия- выполняется код ниже. если любое из 3 не соблюдено- показываем ошибку и выходим.
...
If checkcolumn Then 'если стоит чекбокс - то проверяются 3 нижестоящие условия. Если Нет- то проверку пропускаем.
If r1.Column <> 5 Then
MsgBox "error r1", vbCritical
Exit Sub
End If
…...
ЕжеВика, после Then нужно писать все в одну строку ( что относится к Then) или все с новой строки. Если нет ELSE. П.С. если все в одну строку то end if не нужно.
Код
If r1.Column <> 5 Then MsgBox "error r1", vbCritical: Exit Sub
ЕжеВика, Да, как написано выше, для таких конструкций можно употреблять иную запись , но вот это не сильно экономит время и объем при написании, а вот читаемость может пострадать + не все так можно записывать а значит лучше классический вариант.