[英]Copy range A:AM in sheet 3 instead of entire row and paste in sheet1 (A1) one below the other
如何更改代碼,使其僅復制 sheet3 中的范圍 A:AM 直到 D 列的最后一行,而不是復制整行並將其粘貼到 Sheet1 (A1) 中的一個下方?
Option Explicit
Public Sub ABC()
Dim LastRow As Long
LastRow = Sheets(3).Cells(Rows.Count, "d").End(xlUp).Row
Dim iRow As Long
For iRow = 7 To LastRow
If Application.WorksheetFunction.CountA(Sheets(3).Range("J" & iRow & ":AM" & iRow)) <> 0 Then
Sheets(3).Rows(iRow).Copy Destination:=Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
Next iRow
End Sub
像這樣:
Sheets(3).Range("A" & iRow & ":AM" & iRow).Copy
或者
Sheets(3).Cells(irow, "A").Resize(1, 39).Copy
或者
Sheets(3).Range("A:AM").Rows(iRow).Copy
如果您的目標是一次用整個范圍復制/粘貼替換循環,那么:
創建一個變量來存儲基於列D
的最后一行索引,然后創建動態范圍以進行相應的復制
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lr As Long
lr = ws.Range("D" & ws.Rows.Count).End(xlUp).Row '<-- Find Last Row
ws.Range("A1:AM" & lr).Copy '<-- Copy
Sheets("Sheet2").Range("A1").PasteSpecial xlPasteValues '<-- Paste
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.