2016-06-13 49 views
0

目前我有一個vba代碼,它將複製上一個有公式和全部活動行,並將其粘貼到它下面的下一行。相反,我希望它複製最後10個活動行並將其粘貼在它下面。有人可以幫我調整我的當前代碼,以幫助允許嗎?如何複製最後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 
+0

您是否嘗試過更換'行(Selection.Row - 1)'和'行(Selection.Row - 10)'? – Dave

+1

我推薦閱讀[如何避免使用'.Select'](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)應該捨棄一些點亮這個。我相信如果你通讀這一點,你至少可以開始*調整上述循環。並且還@戴夫的建議... – BruceWayne

+0

範圍(行(selection.row-11),行(selection.row-1))。複製 –

回答

0

range(rows(selection.row-11),rows(selection.row-1)).copy

相關問題