这似乎是一个简单的问题,但无论我更改或编辑,我似乎无法以逻辑方式解决此问题。无限循环excel VBA
我想要做的是循环遍历范围内的每个单元格,将循环中当前单元格的内容与它上面的单元格进行比较。如果这两个单元格值不相同,那么我插入2个新行。
但是,不是插入2个新的空白行,而是将行的内容取为rangeCell
,并插入相应的内容。因此,它会陷入无限循环,因为我们检查的单元之上的单元总是等于当前的单元值。这是为什么发生?
下面是代码:
For Each rep In repNames()
If rep <> vbNullString Then
Worksheets(rep).Activate
Set repComboRange = Range("A2", Range("A2").End(xlDown))
For Each rangeCell In repComboRange
If rangeCell.Value <> rangeCell.Offset(-1, 0).Value And rangeCell.Offset(-1, 0).Value <> vbNullString Then
rangeCell.EntireRow.Insert
rangeCell.EntireRow.Insert
End If
Next rangeCell
Else: Exit For
End If
Next rep
的具体问题是在这一行:
rangeCell.EntireRow.Insert
rangeCell.EntireRow.Insert
这是应该发生的事情:https://gyazo.com/c7f2bf238837fe2e3bca31a4505f6b4e
然而,这是发生了什么: https://gyazo.com/28f8cc028887df565b542cdd7cb04cf2
任何帮助都非常赞赏ED!多谢你们!
感谢的人,原来如此!不知道这甚至是一件事xD – Matthew