對不起,我認爲這是非常基本的,但我想知道是否有人可以告訴我爲什麼只有這些IF陳述似乎運行。第IF「CASH」選項的聲明工作,但其他2不幸的是沒有。多個VBA if語句觸發不同的事件
Sub HideUnhide_Discount()
If Range("Payment_Option") = "Subscription" Then
Range("MnthD_Row").EntireRow.Hidden = False
Range("MnthD").Value = 0
Else
Range("MnthD_Row").EntireRow.Hidden = True
End If
If Range("Payment_Option") = "Lease" Then
Range("OOD_Row").EntireRow.Hidden = False
Range("Leasing_Info").EntireRow.Hidden = False
Range("OOD").Value = 0
Else
Range("OOD_Row").EntireRow.Hidden = True
Range("Leasing_Info").EntireRow.Hidden = True
End If
If Range("Payment_Option") = "Cash" Then
Range("OOD_Row").EntireRow.Hidden = False
Range("MnthD_Row").EntireRow.Hidden = False
Range("OOD").Value = 0
Else
Range("OOD_Row").EntireRow.Hidden = True
Range("MnthD_Row").EntireRow.Hidden = True
End If
End Sub
他們這樣做,但是當你到達一個第三它cancells其他兩個,第三個'If'不嵌套在前兩個 –
的「Else」部分中,可以顯示任何數據嗎? –
如果您在第一個「If」行開始處放置一個斷點(F9),然後再通過調試器中的代碼執行F8步驟,您會發現前兩個「If」的「Else」塊.End If' blocks當前兩個條件評估爲「False」時執行。這可能不是你想要寫的。事實上,「Else」塊應該在哪種情況下運行並不清楚; 'Range(「Payment_Option」)'檢查需要在'Select Case'或'If ... Else If'塊中,並且您需要計算出哪些情況需要'MnthD_Row','Leasing_Info'和' OOD_Row'隱藏。 –