Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
非功能性IF-Else VBA_Vba_Excel_If Statement - Fatal编程技术网

非功能性IF-Else VBA

非功能性IF-Else VBA,vba,excel,if-statement,Vba,Excel,If Statement,根据用户表单上的条目尝试If Else的无智新手: If OptionButtonMed.Value = True Then pp = pp + 2 ElseIf OptionButtonLarge = True Then pp = pp + 4 ElseIf OptionButtonXL = True Then pp = pp + 8 Else: pp End If 它根本不起作用。建议很有价值。您得到一个运行时错误,因为您的Else语句,您需要给pp一个有效值 如果

根据用户表单上的条目尝试If Else的无智新手:

If OptionButtonMed.Value = True Then
    pp = pp + 2
ElseIf OptionButtonLarge = True Then
    pp = pp + 4
ElseIf OptionButtonXL = True Then
    pp = pp + 8
Else: pp
End If

它根本不起作用。建议很有价值。

您得到一个运行时错误,因为您的
Else
语句,您需要给
pp
一个有效值

如果您尝试
pp=pp+1
或任何值,它都会起作用

另外,在您尝试测试准则的
控件之后保留
.Value
也是一种很好的做法。(实际上不需要
=True

将代码修改为:

If OptionButtonMed.Value Then
    pp = pp + 2
ElseIf OptionButtonLarge.Value Then
    pp = pp + 4
ElseIf OptionButtonXL.Value Then
    pp = pp + 8
Else
    pp = pp + 1 ' <-- just for example
End If
如果OptionButtonMed.Value,则
pp=pp+2
ElseIf OptionButtonLarge.Value然后
pp=pp+4
ElseIf OptionButtonXL.值然后
pp=pp+8
其他的

pp=pp+1'您得到一个运行时错误,因为您的
Else
语句,您需要给
pp
一个有效值

如果您尝试
pp=pp+1
或任何值,它都会起作用

另外,在您尝试测试准则的
控件之后保留
.Value
也是一种很好的做法。(实际上不需要
=True

将代码修改为:

If OptionButtonMed.Value Then
    pp = pp + 2
ElseIf OptionButtonLarge.Value Then
    pp = pp + 4
ElseIf OptionButtonXL.Value Then
    pp = pp + 8
Else
    pp = pp + 1 ' <-- just for example
End If
如果OptionButtonMed.Value,则
pp=pp+2
ElseIf OptionButtonLarge.Value然后
pp=pp+4
ElseIf OptionButtonXL.值然后
pp=pp+8
其他的


pp=pp+1'您的所有对象类型都是
OptionButton
?这个代码放在哪里?可能是因为你丢失了。你的大按钮和XL按钮的价值…哎呀-添加了这些,仍然得到我的错误,甚至在此之前就中断了@m4sterbunny请发布代码的其余部分,如果您将其作为函数调用,但不返回任何值,那么实际上根本不需要进行任何计算。您可能希望在
结束函数
之前包含一条语句
calcCost=pp
来返回一个值。您的所有对象都是
OptionButton
?这个代码放在哪里?可能是因为你丢失了。你的大按钮和XL按钮的价值…哎呀-添加了这些,仍然得到我的错误,甚至在此之前就中断了@m4sterbunny请发布代码的其余部分,如果您将其作为函数调用,但不返回任何值,那么实际上根本不需要进行任何计算。您可能希望通过在
结束函数
之前包含语句
calcCost=pp
来返回值。我遇到了编译错误:即使我给Else pp=pp+0@m4sterbunny哪里哪一行?你的代码在哪里?在一个
命令\u按钮中
事件?似乎在某个地方给了我pp=0。但是你的建议是威兹!函数calcCost(pp)如果OptionButtonMed.Value则pp=pp+2 ElseIf OptionButtonLarge.Value则pp=pp+4 ElseIf OptionButtonXL.Value则pp=pp+8 Else:pp=pp*1 End如果End Function这是一个
函数
?那还什么?你怎么称呼它?@m4sterbunny请发布你所有的代码,以及你调用函数的代码。让我知道你想要实现什么我得到了编译错误:期望的子,函数或属性,即使我给了Else pp=pp+0@m4sterbunny哪里哪一行?你的代码在哪里?在一个
命令\u按钮中
事件?似乎在某个地方给了我pp=0。但是你的建议是威兹!函数calcCost(pp)如果OptionButtonMed.Value则pp=pp+2 ElseIf OptionButtonLarge.Value则pp=pp+4 ElseIf OptionButtonXL.Value则pp=pp+8 Else:pp=pp*1 End如果End Function这是一个
函数
?那还什么?你怎么称呼它?@m4sterbunny请发布你所有的代码,以及你调用函数的代码。让我知道你想要实现什么