我想讓我的代碼找到工作表中的最後一行,然後複製整行並將其粘貼到下面。目前,我有:選擇整個最後一行
Cells(Application.Rows.Count, 1).End(xlUp).Select
Selection.Copy
Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
這是在發現該行的最後一個單元格很大,但是當它拷貝/粘貼此,它只是抓住這第一個單元格。所以我想知道的是,如果您可以使用此代碼來查找最後一行,然後選擇整個行,然後複製/粘貼它下面。請記住,我不能只輸入
Rows("3:3").Select
Selection.Copy
Rows("4:4").Select
Selection.Insert Shift:=xlDown
因爲該行是可變的。謝謝!
Dim lastRow As Long
lastRow = Cells(Application.Rows.Count, 1).End(xlUp).Row
Rows(lastRow).Select
Selection.Copy
Rows(lastRow).Offset(1, 0).Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
上面的代碼會找到最後一行,選中它,複製它並粘貼到下面。不過,我需要到最後一行復制並粘貼在它下面的幾排在某些情況下,這樣:
Rows("3:3").Select
Selection.Copy
Rows("4:16").Select
Selection.Insert Shift:=xlDown
大意的東西,但我不能給選定的行粘貼幾行,因爲
Rows(lastRow:4).Select
嚇壞了。有沒有辦法將「16」添加到最後一行,以便複製該行並將其粘貼到接下來的14行等中?
'細胞(Application.Rows.Count,1).END(xlUp).EntireRow.Select'應該開始你。也不需要選擇東西 – MacroMarc
要擴展@ MacroMarc的最後一句,它的**高度建議[避免使用'.Select' /'.Activate'](https://stackoverflow.com/questions/10714251/) 。 – BruceWayne
fwiw,如果您確實從底部向上查找最後一次使用的行,則不必在插入值爲接下來的13行空白行之前插入13個新行。 – Jeeped