Excel VBA:如果与combobox中的值匹配,则删除行

我有一个工作表中的一个combobox中的项目列表,由另一个工作表的范围填充。 我已经可以添加一个项目。 现在我想删除一个项目名称,如果combobox的值等于另一个工作表上的范围内的值。 我有以下代码,但它不起作用:

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 Combobox

在这里输入图像说明

这是当我删除On Error Resume Next时出现的错误:

在这里输入图像说明 在这里输入图像说明

你必须把它当作一个对象

ProjValue = Me.CmbProjName.Valuereplace为ProjValue = ProjNameWS.OLEObjects("CmbProjName").Object.Value ,它将起作用。