您可以通过以下代码为我提供帮助吗?

Sub DeleteRows()
Dim c As Range
Dim SrchRng

Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A65536").End(xlUp))
Do
    Set c = SrchRng.Find("12345", LookIn:=xlValues)
    If Not c Is Nothing Then c.EntireRow.Delete
Loop While Not c Is Nothing


结束子

我在A列中有一个带有程序代码的图表。我想创建一个宏,该宏将删除所有具有特定程序代码的行:12345、541、9099等。
我拥有的代码只能引用一个值。我不知道如何添加更多。最重要的是,它将删除带有“ 12345”的程序代码。例如,它将删除程序代码为123456的行。是否可以阻止它执行此操作?

附言不知道像我这样设置范围是否是一个好主意:A1:A65536。太大?

谢谢!

最佳答案

您应该改为遍历该范围。如果没有太多数据,您也不想将范围设置得太大。

Sub DeleteRows()
    Dim i As Long
    Dim last_row As Long
    last_row = ActiveSheet.Range("A65536").End(xlUp).Row
    For i = last_row To 1 Step -1
        If ActiveSheet.Cells(i, 1).Value = "12345" or _
           ActiveSheet.Cells(i, 1).Value = "541" or _
           ActiveSheet.Cells(i, 1).Value = "9099" Then
           ActiveSheet.Cells(i, 1).EntireRow.Delete
        End If
    Next i
End Sub

10-07 16:25