尝试使用for循环删除excel上的每第三行

时间:2017-02-07 10:44:49

标签: excel vba excel-vba

我想删除每第三行。

我在一列中有一个变量,在接下来的列中,我有三行男性女性和每行。

我想摆脱总数。

我尝试运行for循环但是因为它删除了一行,编号也会回来。

2 个答案:

答案 0 :(得分:1)

不确定我完全理解。您要删除的每第3行中有总计吗?是吗?

无论如何,在删除行,列等时,请使用步骤-1。

类似的东西:

Dim i as integer
For i = Data.rows.count To 1 Step -1
 If i mod 3 then  
  Data(i).entireRow.Delete
 end if
next i

答案 1 :(得分:-1)

当您在VBA中删除整行时,代码将继续,就像现在已删除行仍然存在一样。说代码如下:1,2,3 [删除]。然后它将继续进入最初 5 ,但跳过原始行4,因为它现在已成为第3行。

在运行代码时尝试使用函数中的步骤(VBA编辑器中的f8)来查看其工作原理。

我之前通过添加一个计数器来解决这个问题,每次删除一行并将其作为主循环中的偏移量时,该计数器会递增1。