Страницы: 1
RSS
Зайти на следующий шаг цикла при ошибке.
 
Доброго времени суток!!!
Есть код, из-за проблемы с типом данных в книге приходится извращаться с выходом при ошибке типа данных
Код
For j = 2 To UBound(arr1)
            On Error Resume Next
            If lowmax < CDbl(Abs(arr1(j) - arr2(j))) Then 'на следующий шаг после ошибки в этой строчке
            lowmax = CDbl(Abs(arr1(j) - arr2(j)))
            numberlow = j
            End If
            
        Next
Возможно ли зайти на следующий шаг цикла при возникновении ошибки в указанной строчке комментарием?
 
а если написать вот так, - то и ошибок не будет:

Код
On Error Resume Next
Dim v As Double
For j = 2 To UBound(arr1)
    v = Abs(CDbl(arr1(j)) - CDbl(arr2(j)))
    If lowmax < v Then lowmax = v: numberlow = j
Next
Изменено: Игорь - 02.10.2015 01:34:28
 
Все равно ошибка. В массивах встречаются строковый тип, поэтому наверно приведение к дабл невозможно.
 
да, я ошибся
правильно будет так:
Код
Dim v As Double
For j = 2 To UBound(arr1)
    v = Abs(Val(Replace(arr1(j), ",", ".")) - Val(Replace(arr2(j), ",", ".")))
    If lowmax < v Then lowmax = v: numberlow = j
Next
Страницы: 1
Читают тему
Наверх