Добрый день!
Есть часть рабочего кода:
On Error Resume Next
For row_port = 2 To row_port_end
For row_abc = 2 To row_abc_end
If Int(portion.Cells(row_port, 6).Value) = Int(abc.Cells(row_abc, 5).Value) Then Call any_do
Next row_abc
Next row_port
On Error GoTo 0
Обработка исключений нужна, чтобы макрос работал круглосуточно. В обе части равенства приходят числа в виде строки. Слева - входящие данные. Справа - база, куда попала строка "нет". Должен был быть ноль. Без обработки исключений падем в ошибку 13 (type mismatch). А когда обработка есть, то, при попадании слова в правую часть, результат сравнения почему-то True. Почему так происходит? Можно ли как-то обойти или исправить такое поведение с помощью VBA?