【发布时间】:2017-10-11 17:11:09
【问题描述】:
我有一个遍历所有行的 For 循环(它还合并插入的行)......我遇到的障碍是在遍历我正在插入的行的行时,它把它扔掉了。
例子:
在 A 之后添加 5 行,而不是转到 B,而是转到 A 下添加的行之一。
初步外观
- 一个
- 乙
- C
- D
First Pass 在 A 下添加 5 个空白行。
第二遍继续在 A 之后添加更多空间,而不是跳到 B。
For Each x In wksProd.Range("A3", "A" & iRow)
If x <> "0" Then
Rows(x.Row).EntireRow.Offset(1).Resize(5).Insert
With Range(x.Address, ConvertToLetter(x.Column) & x.Row + 5)
.Merge
.VerticalAlignment = xlCenter
End With
With Range(ConvertToLetter(x.Column + 1) & x.Row, ConvertToLetter(x.Column + 1) & x.Row + 5)
.Merge
.VerticalAlignment = xlCenter
End With
<-- some other formatting code here -->
End If
Next x
【问题讨论】:
-
你能在第一行试试
For Each x In wksProd.Range("A3:A" & iRow)吗? -
还是一样的结果。当它回到 x 时,它没有考虑到循环开始时 +5 行不存在。
-
只是为了说清楚。您想在每个字母下添加五行吗?