Здравствуйте.
Пытаюсь создать свою функцию, которая могла бы выводить результат какого-нибудь вычисления в виде "результат± погрешность" без лишних - не важных младших разрядов. Например 23,15± 0.02 вместо значение 23,15000236587 и погрешность 0,0235987. Столкнулся с проблемой, когда ещё при вводе исходных данных редактор САМ "пробегает " мой код и выводит сообщение, которое находится уже в самом коде функции. Причём это происходит даже если я ставлю точки останова - он на них не реагирует. Упрощённый пример привожу ниже. В нём, ещё при вводе буквы вместо погрешности, сразу же получаю сообщение: "Вместо числа введено непонятно что. Исправьте.", да ещё и не один раз. Дальше происходит совсем непонятное повторение этих же сообщений при моей реакции.
Пытаюсь создать свою функцию, которая могла бы выводить результат какого-нибудь вычисления в виде "результат± погрешность" без лишних - не важных младших разрядов. Например 23,15± 0.02 вместо значение 23,15000236587 и погрешность 0,0235987. Столкнулся с проблемой, когда ещё при вводе исходных данных редактор САМ "пробегает " мой код и выводит сообщение, которое находится уже в самом коде функции. Причём это происходит даже если я ставлю точки останова - он на них не реагирует. Упрощённый пример привожу ниже. В нём, ещё при вводе буквы вместо погрешности, сразу же получаю сообщение: "Вместо числа введено непонятно что. Исправьте.", да ещё и не один раз. Дальше происходит совсем непонятное повторение этих же сообщений при моей реакции.
Код |
---|
Public Function Пример(ByVal варЗначение As Variant, ByVal варПогрешность As Variant, Optional ByVal стрПараметрВывода As String) Dim стрЗаголовок As String Dim стрСообщение As String Dim стрОтклик As String стрЗаголовок = "Функция Пример" стрСообщение = "Вместо числа введено непонятно что. Исправьте." If Not IsNumeric(варПогрешность) Then стрОтклик = MsgBox(стрСообщение, vbOKOnly, стрЗаголовок) End End If End Function |