我正在编写一个宏,该宏遍历每一行(某些行比其他行包含更多的列),并对数列进行计数,并在所选行的下方插入与空白单元格相同的数字。目标是最终将数据复制并粘贴到单个列中。
我能够插入正确数量的空白单元格,但是它们会插入到所选行的上方。我希望将它们插入所选行的下方。任何帮助,将不胜感激!
rowCount = ActiveSheet.Cells(rows.Count, 5).End(xlUp).Row
ActiveSheet.Range("E1:E" & rowCount).Select
For c = 1 To rowCount
columnCount = ActiveSheet.Cells(c,
Columns.Count).End(xlToLeft).Column - 5
If columnCount > 0 Then
Let CopyRange = "E" & c & ":" & "E" & (c + columnCount - 1)
ActiveSheet.Range(CopyRange).EntireRow.Insert Shift:=xlDown
End If
rowCount = ActiveSheet.Cells(rows.Count, 5).End(xlUp).Row
c = c + columnCount
Next c
答案 0 :(得分:0)
在当前要插入的行下方插入1行。另外,您可以通过向后循环来简化此操作。
rowCount = ActiveSheet.Cells(rows.Count, 5).End(xlUp).Row
For c = rowCount to 1 step -1
columnCount = ActiveSheet.Cells(c, Columns.Count).End(xlToLeft).Column - 5
If columnCount > 0 Then
Set CopyRange = "E" & c + 1 & ":" & "E" & (c + columnCount)
ActiveSheet.Range(CopyRange).EntireRow.Insert Shift:=xlDown
End If
Next c
注意:这未经测试