2016-08-05 40 views
1

我一直在使用Google搜索一段時間,但無法找到解決方案,希望有人可以提供幫助。如何使用宏中的單元格值將數據範圍複製到新工作表中

我想從一個工作表(Sheet1)複製一個範圍的數據到一個新的工作表(Sheet2),該範圍的開始始終保持不變(列A,單元格3),但行更改取決於輸入數據。我需要這個宏,因此它可以分配給一個按鈕。例如:我需要將A1到E3的所有數據複製到一個新的工作表中,但下一次輸入數據時,範圍可能從A1到E4。列總是保持不變(A & E),但每行都會有所不同。

請幫

Example

當前代碼

Sub CopyItOver() 

Dim lastRow As Long 
Dim CellNum As String 

RowLetter = "U" 
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row 
Worksheets("data").Range("$H$1").Value = lastRow 
CellNum = RowLetter & lastRow 
Worksheets("data").Range("$H$2").Value = CellNum 

Set NewBook = Workbooks.Add 
Workbooks("template.xlsm").Worksheets("data").Range("A3:cellnum").Copy 
NewBook.Worksheets("Sheet1").Range("A1").PasteSpecial (xlPasteValues) Range("R:R").NumberFormat = "dd-mm-yyyy;@" 

End Sub 
+0

顯示你到目前爲止的代碼。 – teylyn

+0

子CopyItOver() 昏暗LASTROW只要 昏暗CellNum作爲字符串 RowLetter = 「U」 LASTROW = ActiveSheet.Range( 「A」 &Rows.Count).END(xlUp).Row 工作表( 「數據」) .Range(「$ H $ 1」)。Value = lastRow CellNum = RowLetter&lastRow 工作表(「數據」)。範圍(「$ H $ 2」)。Value = CellNum Set NewBook = Workbooks.Add Workbooks (「」Sheet1「)。Range(」A1「)。PasteSpecial(xlPasteValues) 範圍(」R: R「)。NumberFormat =」dd-mm-yyyy; @「End Sub –

+0

可以將整個列從A複製到E嗎? – Maki

回答

0

我試圖從一個工作表(Sheet1中)複製的一系列數據到新的工作表(Sheet2的)。 ..

試試這個

Sub CopyPaste1() 
Sheets("Sheet2").Cells.Clear 
LastRowColumnE = Cells(Rows.Count, "E").End(xlUp).Row 
Worksheets("Sheet1").Range("A1:E" & LastRowColumnE).Copy Destination:=Worksheets("Sheet2").Range("A1") 
End Sub 

另外,

Sub CopyPaste2() 
Sheets("Sheet2").Cells.Clear 
LastRowColumnE = Cells(Rows.Count, 5).End(xlUp).Row 
Sheets("Sheet1").Range(Cells(1, 1), Cells(LastRowColumnE, 5)).Copy Destination:=Sheets("Sheet2").Cells(1, 1) 
End Sub 

或者

Sub CopyPaste3() 
Sheets("Sheet1").Columns("A:E").Copy Destination:=Sheets("Sheet2").Columns(1) 
End Sub 
+0

感謝您的反饋,代碼工作。這節省了我很多時間。 –

相關問題