2016-04-21 150 views
-2

我想複製一列單元格,即從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 
+2

那麼沒有你提供的任何代碼,我們無法猜測從哪裏開始。我們向您展示如何打開VBE。我們是否討論SUB和FUNCTION之間的區別?發佈您的代碼,我們將幫助解決具體問題。除此以外 ???? –

+1

如果你想知道的是如何找到最後佔用的單元格然後看[這裏](http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba) –

+0

@ScottCraner我需要幫助打開VBE。編輯:什麼是VBE? – findwindow

回答

0

這是很好的做法,不使用剪貼板,如果你在代碼運行和什麼,而不是你打算粘貼複製的東西。您可以將一個範圍值設置爲另一個範圍值,而不是使用複製和粘貼。對於一個看起來像這樣的單元。

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 

我希望這有助於!

相關問題