Найденное решение:
Ошибка при InputBox
, принимающем десятичную запись, связана с настройками «Разделителя тысяч» и вводом запятой или точки в InputBox
.У меня был установлен «Разделитель тысяч» для использования точки .
, потому что я работаю с экспортом в файл .csv, так что это было полезно.Любой из них будет работать, но вы должны изменить настройки десятичного символа Windows, выполнив:
Control Panel > Language > Change date, time, or number formats > Additional Settings > Decimal symbol
.
Что касается части умножения: исходный InputBox
возвращает строку.Использование Val()
преобразует числовую строку в число и является правильным сценарием VBA:
Private Sub CommandButton1_Click()
Dim myValue As Variant
myValue = Val(InputBox("Prompt", "Title"))
Range("C5").Value = myValue * Range("C3")
End Sub