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

工具/原料
- 电脑
- Excel 2010
方法/步骤
- 1
打开Excel表格,使用【Alt】+【F11】组合快捷键打开VBA编辑器,也可以点击菜单栏上面的【开发工具】,【Visual Basic】打开VBA编辑器。
- 2
在VBA编辑器的菜单栏上面点击【插入】,【模块】。
- 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
程序释义:
在程序里面,每删除一行,则少一行,下面的行会自动补上。如果单独使用For循环进行删除,将会漏掉一些,所以才引入行的中间变量k,每执行一个循环将增加一行(k=k+1),即使行被删除后上移,其对应的条件行数还是不变(即:k=k-1)。
- 5
点击VBA编辑器工具栏上面的“运行”图标运行程序,或者按下【F5】键运行程序。
- 6
程序运行完成后,将会弹出删除多少行的提示,Excel表格上面满足条件的行已经被删除。
END
注意事项
- 个人经验,仅供参考。