【发布时间】:2017-08-08 23:58:19
【问题描述】:
我正在通过一组行执行 For Each 循环。我将这些行复制了一组不同的时间。例如,第 2 行将被复制 3 次,但第 3 行不会被复制,第 4 行将被复制 2 次。
此复制行数由 excel 中的字段设置 - totalDS
问题是,当我插入这段代码时
Set RowRange = sh.Range("A2:A" & LastRow)
For Each rowiter In RowRange
Dim i As Integer
For i = 2 To totalDS
With Worksheets("Sheet1")
.Rows(rowiter.Row).Copy
.Rows(rowiter.Row).Offset(1).Insert Shift:=xlDown
Application.CutCopyMode = False
End With
Next i
Next rowiter
我将在我复制的那个旁边有一排,这是正确的。但我需要我的 For 循环的下一步转到下一个未复制的行。就像现在一样,For 循环只会转到下一行,所以它会一遍又一遍地复制同一行。
有什么建议吗?
【问题讨论】:
-
据我所知,这不适用于 for/each 循环。你的方法的目的是什么?您是否希望 Range 中的每一行都重复 x 次?
标签: excel for-loop foreach vba