我很困惑'和'或'聲明如何協同工作。 我正在嘗試使(某事或某事)語句作爲'and'語句的一部分工作,但無法找出邏輯 該問題由以下兩個代碼塊說明。 第一個工作正常..第二個失敗,運行時錯誤438:「對象不支持此屬性或方法」。錯誤指的是「If j.Enabled ...」行。 在我看來,兩者都應該運行..任何人都可以詳細說明爲什麼不是這樣嗎?和/或VBA中的組合
代碼塊1(運行)
Private Sub Fini_cbn_Click()
Dim j As Control
For Each j In Controls
If j.Enabled = True And j.Tag = "4" Then
If j.Value = "<NA>" Or j.Value = "" Then
j.BackColor = &HFFFF&
Else
j.BackColor = &H80000005
End If
End If
Next j
End Sub
碼塊2(失敗)
Private Sub Fini_cbn_Click()
Dim j As Control
For Each j In Controls
If j.Enabled = True And j.Tag = "4" And (j.Value = "<NA>" Or j.Value = "") Then
j.BackColor = &HFFFF&
Else
j.BackColor = &H80000005
End If
Next j
End Sub
這是什麼應用程序?訪問? – Degustaf 2015-03-13 13:56:42
我的第一個猜測是,每個控件都沒有「值」屬性,因此您正在循環的控件之一缺少它。嘗試msgbox j.value,看看它是否出錯,然後控制它出錯。 – OpiesDad 2015-03-13 14:07:42
要添加到@OpiesDad:在第二個示例中,'j.Value'總是被評估,如果'.Value'在例如'j.Enabled = False'時不可用,將會出錯。在你的第一個例子中,這個問題被繞過 - 因此這是正確的方法。 – 2015-03-13 14:10:27