使用
时If Then
'Do Something
Else If
'Do Something
End If
如果第一个和第二个条件为真,它会仅执行第一个或两个条件吗?
由于某些原因,我有这个代码:
Dim Report As String
If (DateRange_Pro_TotalCount > 0) Then
Dim DateRange_Pro_ReportStr As String
DateRange_Pro_ReportStr = "Total Referrals: " & DateRange_Pro_TotalCount & vbNewLine _
Report = Report & DateRange_Pro_ReportStr
ElseIf (DateRange_InPro_TotalCount > 0) Then
Dim DateRange_InPro_ReportStr As String
DateRange_InPro_ReportStr = "Total Referrals: " & DateRange_InPro_TotalCount & vbNewLine _
Report = Report & DateRange_InPro_ReportStr
End If
'next statement prints report variable to textBox
即使两个条件都为真,此语句也只执行第一个条件。我将'Else If'更改为'End If'和'If'(两个差异条件语句而不是一个带有两个条件的语句)并且它有效。
答案 0 :(得分:2)
是的,你是对的,它只会执行第一个块
来自IF-THEN-ELSE Statement (VBA)
If condition_1 Then
result_1
ElseIf condition_2 Then
result_2
...
ElseIf condition_n Then
result_n
Else
result_else
End If
condition_1到condition_n按列出的顺序进行评估。 一次 如果发现条件为真,则执行IF-THEN-ELSE语句 相应的代码,不再评估条件。
result_1到result_n是条件一旦执行的代码 发现是真的。
答案 1 :(得分:1)
If...ElseIf...EndIf
完全符合英语的建议:
If
第一个条件为true,执行第一个块。 Else
,if
第二个条件为真,执行第二个块。在您的情况下,您需要两个单独的if语句;无论其他条件的结果如何,它们都将被独立评估。