对于循环删除所有行

Analia Quirk

我以前从未在VBA中编写过代码,现在正试图根据YouTube视频来教自己,事实证明这很困难。我试图做一个for循环,如果它不等于部件号,则删除一行,如果部件号正确,我希望循环不执行任何操作并继续前进。我一直在输入随机数字列表来测试我的代码,但是当我运行它时,每一行都会被删除(即使是具有正确部件号的行)。最终,当我在真实数据上运行时,零件号将是字母和数字以及破折号的组合,因此我应该将零件号存储为正确的字符串变量吗?有什么建议吗?

Sub CodingPrac()
Dim PartNum As String
PartNum = InputBox("Enter the Part Number", "Part Number", "Type value here")
lastrow = ThisWorkbook.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row

    For i = lastrow To 1 Step -1
        If Cells(i, 1).Value = "PartNum" Then
        Else
            ThisWorkbook.Sheets(2).Rows(i).EntireRow.Delete
        End If
    Next i

End Sub
加里的学生

更换:

If Cells(i, 1).Value = "PartNum" Then

与:

If Cells(i, 1).Value = PartNum Then

您需要变量的值,而不是字符串。

编辑#1:

如果列A如下所示,您的代码(如前所述)将起作用

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章