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

时间:2017-08-31 14:09:26

标签: excel vba 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 Combobox

enter image description here

这是我删除On Error Resume Next:

时的错误

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您必须将其视为对象

ProjValue = Me.CmbProjName.Value替换为ProjValue = ProjNameWS.OLEObjects("CmbProjName").Object.Value,它将有效。

相关问题