如果然后在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 true之后运行时,它结束子。我希望所有符合条件的条件都能执行。现在,如果Label2 = 0,则该按钮被禁用,程序结束。我希望它继续检查其余的标签。我确定这是其他情况/ If Then问题。     
已邀请:
您不需要ElseIfs。 如果要测试所有条件,请分别测试
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 If条件块时,只会发生其中的一个(这将是第一个为true的)。如果希望每个事件都发生,请使用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
    

要回复问题请先登录注册