[英]Select Entire Last Row
我正在嘗試獲取代碼以在工作表中找到最后一行,然后復制“全行”並將其粘貼在下面。 目前我有:
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行中,依此類推?
您可以使用.Resize然后“向下填充”來“選擇”多行。
dim rws as long
rws = 14 'total # of rows 3:16
with worksheets("sheet1")
.cells(.rows.count, "A").end(xlup).resize(rws, .columns.count).filldown
end with
您需要調整大小
Sub temp()
Dim lr As Long
lr = Range("A" & Rows.Count).End(xlUp).Row
Rows(lr).Copy
Range("A" & lr).Resize(14, Columns.Count).PasteSpecial xlPasteAll
End Sub
不要選擇東西,這是非常糟糕的做法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.