Страницы: 1
RSS
Калькулятор расхода топлива, Вроде все правильно, но не получается
 
Здравствуйте, мне надо написать калькулятор расхода топлива на VBA, сижу пишу код, вроде написал, захожу на лист и пишу "=MyFunk("Расход  топлива=";160; 415;100;)" получается 160=топливо, 415=километры, а 100 это по формуле надо :D
И почему-то вылазит в той клетке где я писал "#ЗНАЧ!" Что делать? что не так?

Код
Option Explicit

Sub Calculator()
    Dim perem As String
    
    perem = MyFunc("Расход топлива = ", 160, 415, 100)
    
    Call MsgBox(perem)
    
    MsgBox "Конец программы"
End Sub


Function MyFunk(ByVal text As String, ByVal fuel As Integer, ByVal km As Long, ByVal ccc As Integer) As String
    Dim total As Double
    
    total = fuel * km / ccc
    
    MyFunk = text & total
End Function
Изменено: CATS - 22.04.2019 12:56:13
 
Убрал ' теперь высвечивается invalid outside procedure и выделяет это: "Расход топлива = "
Скрины не могу загрузить, тяжелые  
Изменено: CATS - 22.04.2019 12:42:11
 
У вас названия функций разное. В одном месте MyFunk, а в другом MyFunc

И в приведенной процедуре указываете не все необходимые параметры
Изменено: Artem1977 - 22.04.2019 12:53:04
Microsoft Office 2010 64-bit, Windows 10 Professional 64-bit
 
Цитата
Artem1977 написал:
У вас названия функций разное. В одном месте MyFunk, а в другом MyFunc
Да, не заметил, поменял, проблема осталась
Изменил код на тот который сейчас, посмотрите
Изменено: CATS - 22.04.2019 12:55:09
 
В процедуре опять неправильно наименование функции - MyFunc . Должно быть тогда MyFunk
Microsoft Office 2010 64-bit, Windows 10 Professional 64-bit
 
Только зачем столько переменных передавать - и строки и цифры? Чтобы запутаться?
Microsoft Office 2010 64-bit, Windows 10 Professional 64-bit
 
Поменял все MyFunk на MyFunc и теперь вылазит в клетке в которой я ввожу"=MyFunc("Расход  топлива=";160; 415;100;)"  и теперь в ней пишется не "#ЗНАЧ!" А "#ИМЯ?"
Изменено: CATS - 22.04.2019 13:01:20
 
Цитата
Artem1977 написал:
Только зачем столько переменных передавать - и строки и цифры? Чтобы запутаться?
Я только начинаю писать на VBA еще не все тонкости знаю, как можно написать по другому? Помогите пожалуйста :)
 
В конце уберите ;
Microsoft Office 2010 64-bit, Windows 10 Professional 64-bit
 
Цитата
Artem1977 написал:
В конце уберите ;
Все было из-за ; только почему-то посчиталось 664 литра на 100 км при 160 литрах на 415 км  
 
Как сделать чтоб считалось не целым числом а с десятками и единицами, если не ошибаюсь тип данных Currency
Изменено: CATS - 22.04.2019 13:08:47
 
CATS, а сколько должно выйти? Вот Ваша логика расчета ----- 160 * 415 /100 = 66400 / 100 = 664
Изменено: Ivan.kh - 22.04.2019 13:14:59
 
Цитата
Ivan.kh написал:
Цитировать  
Видимо я ступил и не ту формулу написал)
Страницы: 1
Наверх