簡體   English   中英

選擇整個最后一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM