vba - 当VBA在中间插入行时,如何计算行数并将其作为条件?

标签 vba excel

我需要在我的代码中使用循环,并且在特定条件下我将插入行。

Rowz = activesheet.Cells(Rows.Count, 1).End(xlUp).Row
for j=3 to Rowz ' say number of rowz=1000

但是由于在中间插入了行,所以行数增加了。例如在第 200 行我插入 4 行和第 500 行我插入 10 行所以现在数量增加到超过 1000 所以循环测试直到 1000 忽略由于插入而被推下的剩余行。但我需要执行该循环,直到最后一行甚至行被插入其中

我想用这些
  for j=3 to activesheet.cells(Rows.count,1).End(xlUp).Row

但是该值没有更新我猜它只是检查到 1000 只是它没有更新 to 条件中的行数值。

如果在两者之间创建行,我如何计算行数并将其保持在一个条件下?

最佳答案

你为什么不尝试向后循环? for j = rowZ to 3 step -1 .
这能解决你的问题吗?

编辑:选项 2,您可以在最后一个单元格之后定义单元格的名称,并引用该命名范围:Range("myLastCell") .每次插入行时它都会调整....

关于vba - 当VBA在中间插入行时,如何计算行数并将其作为条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388296/

相关文章:

excel - VBA在一列上从A到Z排序

vba - 将所有命名范围提取到一个类中

vba - Excel VBA - 解释 "N/A"值

excel - 将 OFFSET 与 VLOOKUP 相结合

vba - 打开工作表时自动执行的宏

excel - Simpe VBA sub : Error on start of function, 但不是之后

excel - 宏运行时突然变慢

vba - Excel VBA,转换数据导致Excel崩溃

java - 使用 Java 永久删除 Excel 空白列

VBA增加范围的行