簡體   English   中英

將單元格復制到最后一個空白單元格並粘貼到新工作表中

[英]Copy cells till last blank cell and paste in new worksheet

我想復制一系列單元格,即從 F 列的第 7 行到 K 列,並將復制的單元格粘貼到另一個工作表(Sheet2)中。 該范圍應該從第 7 行復制到最后一個空白單元格,並且每次在同一范圍內替換以前的值時,它都應該從 B1 到 B6 粘貼到(Sheet2)中。

請幫助我開始。


我已按照建議進行了一些更改,但我希望代碼循環工作表(2)中的值,並通過僅將 A5 行替換為 AG5 來將值粘貼到工作表 3 中。 但下面的代碼只是粘貼第一行。 它應該從第一行循環到工作表 2 中的最后一個空單元格,然后粘貼到工作表 3 的范圍 A5 到 AG5 中。

Sub LoopCopy()

Dim EndRow As Integer

'Find the last row with data

EndRow = ThisWorkbook.Sheets(2).Range("D7").End(xlDown).Row
'Set the range in sheet 2 to the range you want to copy in sheet 1
ThisWorkbook.Sheets(3).Range("A5", "AG5").Value = ThisWorkbook.Sheets(2).Range("F7", "AL" & EndRow).Value
End Sub

最好不要使用剪貼板,以防您在代碼運行時復制某些內容並粘貼它而不是您想要的內容。 您可以將一個范圍值設置為另一個,而不是使用復制和粘貼。 對於一個看起來像這樣的單元格。

ThisWorkbook.Sheets(2).Range("A1").Value = ThisWorkbook.Sheets(1).Range("A1").Value

這將有效地將工作表 1 中 A1 的值復制到工作表 2 中的 A1 而不使用剪貼板。 您可以對一系列單元格執行相同的操作,如下所示。

ThisWorkbook.Sheets(2).Range("A1:C3").Value = ThisWorkbook.Sheets(1).Range("A1:C3").Value

如果您想變得聰明並動態定義您的范圍,您可以使用以下程序來完成。

Dim EndRow As Integer

'Find the last row with data
EndRow = ThisWorkbook.Sheets(1).Range("F7").End(XlDown).Row
'Set the range in sheet 2 to the range you want to copy in sheet 1
ThisWorkbook.Sheets(2).Range("B1","G" & EndRow - 6).Value = ThisWorkbook.Sheets(1).Range("F7","K" & EndRow).Value

我希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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