【发布时间】:2016-06-13 22:34:02
【问题描述】:
目前我有一个 vba 代码,它将用公式和所有复制最后一个活动行并将其粘贴到它下面的下一行。相反,我希望它复制最后 10 个活动行并将它们粘贴在它下面。有人可以帮我调整我当前的代码以帮助实现这一点吗?
'Sub RunMost()
Dim ws As Worksheet
For Each ws In Sheets
If ws.Name = ("Sheet1") Then
ws.Activate
' Go to last cell
Cells(Rows.Count, 2).End(xlUp).Offset(2, 0).Select
' Copy formula from cell above
Rows(Selection.Row - 1).Copy
Rows(Selection.Row).Insert Shift:=xlDown
End If
Next ws
End Sub
【问题讨论】:
-
你试过用
Rows(Selection.Row - 10)替换Rows(Selection.Row - 1)吗? -
我建议通读how to avoid using
.Select,这应该会对此有所了解。我相信,如果您通读本文,您至少可以开始 调整上述内容以进行循环。还有@Dave 的建议…… -
范围(rows(selection.row-11),rows(selection.row-1)).copy
-
是的@Dave 我确实尝试过,但它只选择了第 10 行
-
@Nathan_Sav 成功了!谢谢!
标签: excel vba copy-paste