如果那么在vba语句
我有以下代码:
If Label1 = 0 Then btn1.Enabled = False ElseIf Label2 = 0 Then btn2.Enabled = False ElseIf Label3 = 0 Then btn3.Enabled = False ElseIf Label4 = 0 Then btn4.Enabled = False End If End If End If End Sub
现在当它运行一个条件ios真正的结束分。 我想要所有的条件是真实的执行。 所以现在如果Label2 = 0,button被禁用,程序结束。 我希望它继续检查标签的其余部分。 我确定这是一个别/如果然后问题。
你不需要ElseIfs。
如果你想testing所有条件,然后单独testing它们
If Label1 = 0 Then btn1.Enabled = False End If If Label2 = 0 Then btn2.Enabled = False End If If Label3 = 0 Then btn3.Enabled = False End If If Label4 = 0 Then btn4.Enabled = False End If
只是为了上市,这是另一种可能性:
btn1.Enabled = (Label1 <> 0) btn2.Enabled = (Label2 <> 0) btn3.Enabled = (Label3 <> 0) btn4.Enabled = (Label4 <> 0)
当使用If-Else时,只有其中一个会发生如果有条件的块(这将是第一个是真的)。 如果你想每一个发生,然后使用4个独立的IF条件语句。
不要使用ElseIf
:使用单独的If/Then/End If
所有标签的结构。
你必须改变你的代码:
If Label1 = 0 Then btn1.Enabled = False If Label2 = 0 Then btn2.Enabled = False If Label3 = 0 Then btn3.Enabled = False If Label4 = 0 Then btn4.Enabled = False End Sub