Мила Большакова
Мила Большакова

Вопрос по VBA. Неправильно вычисляется ответ, когда введенное число нецелое. Как можно исправить?

On Error Resume Next
Dim c,a,l,k
k = InputBox("Выберите машину: "&vbcrlf&"1. Heildelberg"&vbcrlf&"2. Shinohara"&vbcrlf&"")
if k = 1 then
call s
elseif k = 2 then
call v
end if

Function s()
c = InputBox ("Размер выданный Indicats","Калькулятор")
a = InputBox ("Расстояние на подрез","Калькулятор")
l = cint(c) * 2 - 58.5 - cint(a) - 3
MsgBox l, 64, "Ответ"
end function

Function v()
c = InputBox ("Размер выданный Indicats","Калькулятор")
a = InputBox ("Расстояние на подрез","Калькулятор")
l = cint(c) * 2 - 33 - cint(a) - 5
MsgBox l, 64, "Ответ"
end function

АА
Андрей Александров

Потому что, когда вы вводите нецелое число функция cint - преобразует его в целое.
Если необходимо использовать дробные значения, то замените CInt на CDbl

Похожие вопросы
Вопрос по управлению Checkbox в VBA
написать программу с циклом do...loop вычисляющую сумму чисел от 1 до 5 vba. ..loop вычисляющую сумму чисел от 1 до 5 vba
Как преобразовать в Exelе введенное число в текст?
программирование на VBA .вопрос прост
Вопрос про VBA excel
программа на языке vba которая вычисляет делители числа
вопрос по VBA Excel.
Число Пи Зачем вычисляют число Пи? Кто сказал что оно вообще должно вычисляться?
Если введенное значение является числом, а не текстом. Как в VBA это делается? Какой функцией это делается?
Как вычислять простые числа?