【发布时间】:2017-09-21 14:14:09
【问题描述】:
我在单元格下方插入新行时遇到问题。我需要在每个活动单元格下方插入新行。使用此代码 Excel 将崩溃。感谢帮助
Sub CopyRow()
Dim cel As Range
Dim selectedRange As Range
Set selectedRange = Application.Selection
For Each cel In selectedRange.Cells
cel.Offset(1, 0).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
'copy data
cel.Offset(1, 0 ).Value = cel.Value
Next cel
End Sub
【问题讨论】:
-
Try
cel.Offset(1, 0).EntireRow.Insert这会让你摆脱遇到的错误,但你会遇到一个新问题,其中新插入的行现在是所选范围的一部分,所以你的下一次迭代是到插入新行的新行,你最终陷入无限循环。您可能需要一个循环,从所选范围内的最后一个单元格开始,然后向后 (step -1) 在迭代后面插入行。