如何使用macros中的单元格值将一系列数据复制到新工作表中

我一直在googlesearch一下,但无法find解决scheme,希望有人可以帮忙。

我试图从一个工作表(Sheet1)复制一个范围的数据到一个新的工作表(Sheet2),范围的开始始终保持不变(列A,单元格3),但根据input数据更改行。 我需要这个macros,所以它可以分配给一个button。

例如:我需要将所有数据从A1到E3复制到一个新的工作表中,但下一次input数据时,范围可能从A1到E4。 这些列将一直保持不变(A&E),但每一行都会有所不同。

请帮忙

例

当前的代码

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 

我试图从一个工作表(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