VBA编程删除Excel中符合多重条件的行

 时间:2024-10-14 03:30:27

1、这里有个人事信息表(里面的信息纯属虚构如有巧合敬请见谅)。我们把每一行人员的信息称作一条记录。要把年龄小于18岁的、或年龄大于60岁的、或学历是高中以下的记录删除。我们先来做一件事:编个程序把符合条件的记录标上颜色,就像表中的那样,通过这个程序理一下思路,也为下一步做个准备。

VBA编程删除Excel中符合多重条件的行

3、这段程序是通过For循环对每条记录都过一遍,看是否满足这个条件:Cells(i, 2) > 60 Or Cells(i, 2) < 18 Or Cells(i, 3) = "高中以下"其实是用“或”连接的三个条件,只要满足其中一个就算满足。如果条件满足就执行这条语句:Range("a" & i & ":c" & i).Interior.ColorIndex = 37这条语句就是给满足条件的记录标底色的。

4、删除符合条件的记录接下来要做的是把标了色的记录删掉。是不是把标色语句改成删除语句就OK了呢?Range("a" & i & ":c" & i).Interior.ColorIndex = 37改成rows(i).delete试试看!结果是没有删除干净!删除了一部分,这是怎么回事呢?

VBA编程删除Excel中符合多重条件的行

6、下面是最终的程序:Sub DelRow()Application.ScreenUpdating = False '程序执行期间停止屏幕刷新Dim EndRow As Single '定义变量,用于存放最后一行行号。EndRow = Range("a65535").End(xlUp).RowFor i = 2 To EndRow '遍历工作表的每条记录,i为记录号的变量 If Cells(i, 2) > 60 Or Cells(i, 2) < 18 Or Cells(i, 3) = "高中以下" Then Rows(i).delete i = i - 1 End IfNext iApplication.ScreenUpdating = TrueEnd Sub

VBA编程删除Excel中符合多重条件的行
  • WPS/Excel VBA如何查找数据所在行并填写新数据
  • 怎么用VBA宏代码给单元格加正负号
  • match函数的使用方法
  • 怎么用VBA代码设置文本的字号为18号
  • Access中如何使用选项组控件
  • 热门搜索
    宁夏旅游景点 云南旅游团 丹东旅游攻略 甲米旅游攻略 伊春旅游 中国优秀旅游城市 俄罗斯旅游景点 旅游管理专业介绍 重庆旅游攻略三日游 兰州旅游景点大全