簡體   English   中英

如何在宏中使用單元格值將一系列數據復制到新工作表

[英]How to use cell value in a macro to copy a range of data to new worksheet

我一直在谷歌搜索,但無法找到解決方案,希望有人可以提供幫助。

我正在嘗試將一系列數據從一個工作表(Sheet1)復制到一個新工作表(Sheet2),范圍的開始始終保持不變(A列,單元格3),但行根據輸入數據而變化。 我需要這個宏,所以它可以分配給一個按鈕。

例如:我需要將所有數據從A1復制到E3到一個新的工作表,但下一次該范圍可能是從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

暫無
暫無

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

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