Не соображу, где собака зарыта? - VBA

Узнай цену своей работы

Формулировка задачи:

Всем привет. Никак не соображу в чем дело... помогите разобраться! в Exel писал макрос с вычислениями площади, периметра и прочего... при вычислении двух TextBox'ов - значение третьего TextBox'а принимало результат с ЗАПЯТОЙ (плавающей точкой), (например "0,35") далее программа считала CDbl(TextBox) как число и продолжала работать. но после закрытия файла Exel и открытия его снова, при вычислении тех же двух TextBox'ов - значение третьего TextBox'а стало принимать результат с ТОЧКОЙ (плавающей), (например "0.35") далее программа уже не воспринимает CDbl(TextBox) как число, а считает его текстом и соответственно выдает ошибку 13 "<Type mismatch>"... пробовал менять раскладку (русский,английский) - не помогает в настройках, разделительный знак - запятая. кстати, после долгих часов исправлений, ковыряний и прочих модификаций в течении дня, код снова стал воспринимать значение TextBox'а с ЗАПЯТОЙ, но опять же после закрытия/открытия файла всё снова "сломалось". почему так происходит? объясните пожалуйста Понимаю, что проще было объявить переменные нужного типа и работать с ними, но в процессе обучения программа уже была написана и была полностью работоспособна (до закрытия). Теперь чувствую придётся её переписывать используя переменные но вдруг есть способ восстановить её работоспособность.. да и просто интересно, голову ломаю, ПОЧЕМУ ТАК??? подскажите добрые люди, уважаемые ГУРУ, скорее всего я не первый с такой проблемой

Решение задачи: «Не соображу, где собака зарыта?»

textual
Листинг программы
Private Sub CommandButton1_Click()
    Dim AreaTb As Double, LengthTb As Double, WidthTb As Double
    
    WidthTb = MyVal(TextBox1.Text)
    LengthTb = MyVal(TextBox2.Text)
 
    AreaTb = (WidthTb * LengthTb) / 10000#
 
End Sub
 
Private Function MyVal(ByVal s As String) As Double
    MyVal = Val(Replace(s, ",", "."))
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.417 из 5
Похожие ответы