在Excel表格里面删除要删除的行时,可以通过筛选要删除的行,之后进行删除。如果删除的行数较多,使用鼠标选择行后进行删除变得比较麻烦,使用VBA程序来删除就显得比较快捷。

工具/原料

  • 电脑
  • Excel 2010

方法/步骤

  1. 1

    打开Excel表格,使用【Alt】+【F11】组合快捷键打开VBA编辑器,也可以点击菜单栏上面的【开发工具】,【Visual Basic】打开VBA编辑器。

  2. 2

    在VBA编辑器的菜单栏上面点击【插入】,【模块】。

  3. 3

    在VBA编辑器的代码框里面输入以下程序:

    Sub deleterows()

    Dim i&, k&     '定义i,k为长整数

    On Error Resume Next   '忽略运行过程中出现的错误

    Application.ScreenUpdating = False  '关闭屏幕更新,以加快宏的执行速度

    Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")  '定义工作表

    k = 1

    For i = 2 To 80000  '共执行这么多行

    k = k + 1   '从第二行开始

    If mysheet1.Cells(k, 1) = mysheet1.Cells(1, 6) Then '条件判断

    mysheet1.Rows(k).Delete shift:=xlUp  '删除行

    k = k - 1  '如果删除一行,则少一行

    End If

    Next

    Application.ScreenUpdating = True  '开启屏幕更新

    MsgBox "共删除:" & 80000 - k & "行"  '弹出提示

    End Sub

  4. 4

    程序释义:

    在程序里面,每删除一行,则少一行,下面的行会自动补上。如果单独使用For循环进行删除,将会漏掉一些,所以才引入行的中间变量k,每执行一个循环将增加一行(k=k+1),即使行被删除后上移,其对应的条件行数还是不变(即:k=k-1)。

  5. 5

    点击VBA编辑器工具栏上面的“运行”图标运行程序,或者按下【F5】键运行程序。

  6. 6

    程序运行完成后,将会弹出删除多少行的提示,Excel表格上面满足条件的行已经被删除。

    END

注意事项

  • 个人经验,仅供参考。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。