带AND运算符的VBA If语句

时间:2018-03-22 15:29:46

标签: excel vba excel-vba if-statement

我正在使用以下完美运行的代码:

If ComboBox3.ListIndex = 0 And ComboBox4.ListIndex = 3 Then
ID1 = "GS-T10-"
Elseif ComboBox3.ListIndex = 0 And ComboBox4.ListIndex = 4 Then
ID1 = "PB-"
Elseif ComboBox3.ListIndex = 0 And ComboBox4.ListIndex = 5 Then
ID1 = "PE-"   

正如您所看到的那样是带有AND运算符的if语句评估2个条件。 但请注意,我的第一个条件总是相同(ComboBox3.ListIndex = 0),只有第二个条件正在改变。有没有办法在IF语句的开头写一次第一个条件(没有改变),因此只能在每个Elseif之后写第二个条件?

谢谢,

1 个答案:

答案 0 :(得分:4)

你应该"取出"外部If语句的重复条件,如下所示:

If ComboBox3.ListIndex = 0 Then
    If ComboBox4.ListIndex = 3 Then
        ID1 = "GS-T10-"
    Elseif ComboBox4.ListIndex = 4 Then
        ID1 = "PB-"
    Elseif ComboBox4.ListIndex = 5 Then
        ID1 = "PE-" 
    End If
End If