При ошибке Goto не вызывается при несоответствии типов - PullRequest
0 голосов
/ 25 сентября 2019

Я читаю ячейку из электронной таблицы, которая должна быть числом, но может или не может быть #N/A.В прошлом, если значение ячейки было #N/A, я полагаю, что будет вызвана подпрограмма On Error Goto.

Установка значения ячейки в ноль не будет работать в этом приложении.Если формула ячейки возвращает #N/A, мне нужно, чтобы она оставалась #N/A вместо того, чтобы обнулять ее.

Option Explicit
    Dim Piecerate_Labor as Single
    Dim ErrorList() as Variant
    Dim UniqueID as String
    Dim CurrentStyleError as Boolean
    'Other code removed

Sub GetCostInfo()
        On Error GoTo Errorhandler
        'Other code removed
        With Workbooks("Cost_Master.xlsm").Worksheets("Cost")
            Piecerate_Labor = .Range("Piecerate_Labor_Cost").Value
            'Other code removed
        End With
    Exit Sub

    Errorhandler:
        ErrorCount = ErrorCount + 1
        ErrorList(ErrorCount, 1) = UniqueID
        'Other Coe Removed     Workbooks("Cost_Master.xlsm").Worksheets("Cost").Range("P565").Value 'trap labor issue
        CurrentStyleError = True

End Sub

Разрывы кода в строке Piecerate_Labor =.Range("Piecerate_Labor_Cost").Value с ошибкой времени выполнения "13": Ошибка несоответствия типовпотому что Piecerate_Labor is Single и значение .Range("Piecerate_Labor_Cost") равно #N/A.Прежде чем я верю, что это вызовет On Error Goto Errorhandler.Почему ошибка несоответствия типов не вызывает строку «Ошибка при переходе» - «Обработчик ошибок»?Кажется, мне не хватает чего-то довольно простого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...