"Select Case True" - 如何包含 3 个以上的"Case"语句?



有人可以帮助我使用我的代码吗?我介绍了3个以上的"案例"语句(即6个(,看来最后2个"案例"没有被拾取(在下面的代码中标记(。谢谢

Sub yyy()
Dim TW As Workbook: Dim ac As Worksheet
Set TW = ThisWorkbook: Set ac = TW.Sheets(1)
Select Case True
Case ac.Range("G8") = "No" And ac.Range("G9") = "" And ac.Range("G10") = "" And ac.Range("G12") = "" And ac.Range("G11") = ""
ac.Range("F14") = "Continue with Test."
Case ac.Range("G8") = "Yes" And ac.Range("G9") = "" And ac.Range("G10") = "" And ac.Range("G12") = "" And ac.Range("G11") = ""
ac.Range("F14") = "No further action required."
'Yes, Yes, No, Yes
Case ac.Range("G8") <> "" And ac.Range("G9") = "Yes" And ac.Range("G10") = "Yes" And ac.Range("G12") = "Yes" And ac.Range("G11") = "No"
ac.Range("F14") = "No further action required."
'No,No,Yes,No
Case ac.Range("G8") = "No" And ac.Range("G9") = "No" And ac.Range("G10") = "No" And ac.Range("G12") = "No" And ac.Range("G11") = "Yes"
ac.Range("F14") = "Full Test."
'The following is not being picked up? I guess I have introduced too many "Case" statements?
'Cases for Yes No in Q4
Case ac.Range("G8") <> "No" And ac.Range("G9") <> "" And ac.Range("G10") <> "" And ac.Range("G12") <> "" And (ac.Range("G11") = "Yes" Or ac.Range("G11") = "No")
ac.Range("F14") = "Full Test."
Case ac.Range("G8") = "No" And ac.Range("G9") <> "" And ac.Range("G10") <> "" And ac.Range("G12") <> "" And ac.Range("G11") = "Yes"
ac.Range("F14") = "Full Test."
Case Else
End Select
End Sub

这一切都与触发器的逻辑和顺序有关。请在下面尝试:

    Sub yyy()
    Dim TW As Workbook: Dim ac As Worksheet
    Set TW = ThisWorkbook: Set ac = TW.Sheets(1)
    Select Case True
    Case ac.Range("G8") = "No" And ac.Range("G9") = "No" And ac.Range("G10") = "No" And ac.Range("G12") = "No" And ac.Range("G11") = "Yes"
    ac.Range("F14") = "Full Test."
    Case Else
    End Select
    Select Case True
    Case ac.Range("G8") = "No" And ac.Range("G9") = "Yes" And ac.Range("G10") = "Yes" And ac.Range("G12") = "Yes" And ac.Range("G11") = "No"
    ac.Range("F14") = "No further action required."
    Case Else
    ac.Range("F14") = "Full Test."
    Select Case True
    Case ac.Range("G9") = "No" And ac.Range("G10") = "No" And ac.Range("G12") = "Yes" And ac.Range("G11") = "No"
    ac.Range("F14") = "No further action required."
    End Select
    Select Case True
    Case ac.Range("G11") = "Yes" Or ac.Range("G12") = "No"
    ac.Range("F14") = "Full CRA Test."
    End Select
    Select Case True
    Case ac.Range("G8") = "No" And (ac.Range("G9") = "Yes" Or ac.Range("G9") = "") And ac.Range("G10") = "" And ac.Range("G12") = "" And ac.Range("G11") = ""
    ac.Range("F14") = "Continue with Test."
    End Select
    End Select
    End Sub

最新更新