2014-10-09 95 views
1

我試圖讓VBA顯示一個MsgBox,如果在列表框中選擇了Yes。列表框沒有任何特定的ID,但是這個代碼應該適用於我列中的所有列表框。有人可以告訴他們爲什麼這不起作用嗎?vba檢查下拉列表中的項目是否被選中?

我得到一個對象未​​定義的錯誤,我的第一條if語句正常工作。

感謝

If Target.Column = Range("V1").Column And _ 
    Range("R" & ActiveCell.Row).Value = "" And _ 
    Range("V" & ActiveCell.Row).Value <> "Yes" And _ 
    Range("G" & ActiveCell.Row).Value = "Pending" And _ 
    Range("A" & ActiveCell.Row).Value <> "" Then 
    If ListBox.SelectedIndex = "Yes" Then 
     MsgBox "Are You Sure you want to set-up the supplier on AX?" & vbNewLine & _ 
       "Waiting for Manager Approval & Documents have not been returned!" 
    End If 
End If 
+0

你確定你是通過第一條if語句嗎? – BradyK 2014-10-09 13:10:10

+0

是的第一個if語句正常工作,這不是問題 – 2014-10-09 13:12:00

+0

錯誤可能在於您沒有指定定義的ListBox對象。我建議你閱讀[this](http://msdn.microsoft.com/en-us/library/office/ff195480(v = office.15).aspx)以更好地理解它們。 – BradyK 2014-10-09 13:14:23

回答

1
If ListBox.SelectedIndex = "Yes" Then 

SelectedIndex返回索引,所以1或4等

如果要比較實際值,使用SelectedValue如:

If ListBox.SelectedValue= "Yes" Then 
相關問題