Excel VBA for递减循环删除动态行的代码示例 | 您所在的位置:网站首页 › 删除行vba › Excel VBA for递减循环删除动态行的代码示例 |
在VBA中,可以使用for循环,也可以使用For Each进行循环。 循环在VBA中,可以方便的获取EXCEL中的行列数据,甚至是指定的行列数据。 但是,很多人只知道或常用FOR自增的循环,却未知FOR循环中的递减循环,却是如此的玄妙。 今天,本人遇到一个使用VBA删除动态行的问题,老是解决不了,忽然灵光一现,想起了使用FOR递减循环的方式删除,终于得以将问题解决。 下面,俺就将for循环中的递减循环是如何动态删除行代码,拿出来与大家分享。 下面我们先看for递减循环的语句: for i=Max to Min step -Boot '这里是你的代码 next 上述是for递减循环的语法。其中Max表示大值;Min表示小值。也就是说,for循环中的变量,是从大值Max逐渐变到小值Min的。在变化的过程中,每变一次,i变量的值减小多少,这个是由Boot步长来决定的。可以设置为1,也可以是2,也可以是3…一切由我们来决定。 ①示例代码一 for i=8 to 0 step -2 MsgBox i next 以上的i值,从8变到0,每变一次,i减少2。这就相当于: 第一步:i=8 第二步:i=6 第三步:i=4 第四步:i=2 第五步:i=0 以上的递减循环,其实只执行了五次,即五步。 ②使用for递减循环删除行 比如,您的Excel表中,1到9行的是固定的,不允许你删除;而表格的最后两行,也是固定的,不能删除的。现在的问题是从10行到倒数第三行,这个范围,行数是变化的,不知道啥时候有多少行,现在,叫你删除这些动态行,你该如何删除呢? 如上问题的for递减循环删除动态行代码如下: For m = Sheet1.UsedRange.Rows.Count-2 To 10 Step -1 '删除多余数据 Sheet1.Rows(m).Delete Next m 上述可能太抽象了点,下面,本人给出一个更简单的。比如,叫你使用VBA删除4到8行,这样,就相当于让你使用VBA删除第4、第5、第6、第7、第8行。如何删除呢?代码如下: For k = 8 To 4 Step -1 '删除多余数据 Sheet1.Rows(k).Delete Next k |
CopyRight 2018-2019 实验室设备网 版权所有 |