Страницы: 1
RSS
Как подставить дробное число в формулу?, VBA
 
День добрый,
Имеется следующий код:
Код
k = Cells(i, FactValue).Value
Cells(i, FactValue).Formula = "=(" & k & "/1.2)/курс"

Нашел проблему в невозможности приравнять k к дробному числу (1.2 или 3250.50), вылетает в ошибку.
Как это можно исправить?
 
Если у вас текст а не число , то будет ошибка.
По вопросам из тем форума, личку не читаю.
 
Код
Cells(i, FactValue).Formula = "=(" & Replace(k, ",", ".") & "/1.2)/курс"
 
Цитата
БМВ написал:
Если у вас текст а не число , то будет ошибка.

Нет, это число, все нормально

МатросНаЗебре, да, сработало. а в чем прикол? r1c1 надо подставлять другой разделитель?
 
Цитата
написал:
r1c1 надо подставлять другой разделитель?
нет. в VBA разделитель целой и дробной части всегда точка. Вы же "1.2" с точкой написали  ;)  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Если переменная k содержит дробное число, то в правой части строки 2 из #1 оно (число) будет преобразовано в текст в соответствии с региональными настройками. Поскольку в Вашей системе разделителем дробной доли является запятая, то получится текст типа "3250,5". Свойство Formula задается без учета региональных настроек (то есть, в "американском" формате), разделитель дробной доли в этом формате - точка.

В вашем случае подошла бы и конструкция Str(k). Функция VBA Str преобразует число в строку, где разделителем дробной доли является точка.
Изменено: sokol92 - 17.06.2022 16:30:35
Владимир
Страницы: 1
Наверх