Я новичок в VBA и в настоящее время использую его для создания функции, которая использует три критерия для вычеркивания вычисленного результата. Три входные ячейки включают в себя одно числовое значение («эмиссионный коэффициент») и два текстовых значения («газ» и «единицы измерения», оба из которых имеют значения, которые выбраны из раскрывающихся меню.Excel VBA if/elseif функция с несколькими условиями и выпадающими списками
Я в основном хочу создать функция, которая вычисляет результат на основе значений, выбранных из раскрывающихся меню. Например, если в раскрывающемся списке B («газ») указано определенное значение, а выпадающие единицы «C» перечисляют определенный тип измерения единицы измерения, Я хочу использовать количество в колонке А для вычисления конечного значения Вот то, что я начал развиваться до сих пор (по одному из трех типов вредных веществ):.
Function CO2EquivalentEmissions(emissionsquantity As Double, gas As String, units As String)
If (gas = "CH4" Or "ch4") And units = "tons" Then
CO2EquivalentEmissions = emissionsquantity * 25
ElseIf (gas = "CH4" Or "ch4") And units = "lbs" Then
CO2EquivalentEmissions = (emissionsquantity/2000) * 25
ElseIf (gas = "CH4" Or "ch4") And units = "tonnes" Then
CO2EquivalentEmissions = (emissionsquantity * 1.10231) * 25
End If
End Function
Используя эту функцию, однако, я получить результат 0.00, независимо от того, какое значение я использую для «emis sionsquantity». Любой совет? Спасибо!
попробуйте код в моем ответе ниже –