2017-08-31 71 views
0

我有一張工作表中的工程列表,該工作表由另一工作表中的範圍填充。我已經可以添加一個項目。現在我想刪除一個項目名稱,如果組合框的值等於另一個工作表上的範圍內的值。我有以下的代碼,但它不工作:Excel VBA:如果與組合框中的值匹配,則刪除行

Dim ProjNameWS As Worksheet 
Set ProjNameWS = Sheets("Project Names") 
Dim MainWS As Worksheet 
Set MainWS = Sheets("Main") 


Application.ScreenUpdating = False 


ProjValue = Me.CmbProjName.Value 
LR = ProjNameWS.Cells(Rows.Count, 1).End(xlUp).row 

For y = 1 To LR 



If ProjValue = ProjNameWS.Cells(y, 1) Then 

    ProjNameWS.Rows(y).Delete 

End If 

Next y 

Application.ScreenUpdating = True 

End Sub 

順便說一句,我使用的ActiveX組合框在片

enter image description here

這是當我刪除了錯誤的外觀在錯誤恢復下一頁:

enter image description here enter image description here

+1

請展開'但它不起作用。這是什麼做錯了?你有錯誤嗎?如果是這樣的話,哪一行?請更具體一些。 –

+0

我沒有得到任何錯誤,它只是不起作用。我也嘗試更改ProjNameWS.Rows(y)。刪除到一個消息框,以便我知道它是否匹配。但它也不會提示任何事情。第一件事是 – Sevpoint

+0

;刪除「On Error Resume Next」,運行它並告訴我們錯誤在哪裏。 –

回答

1

你必須把它當作一個物體來對待

ProjValue = Me.CmbProjName.Value替換成ProjValue = ProjNameWS.OLEObjects("CmbProjName").Object.Value它會起作用。

相關問題