首页 文章

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

提问于
浏览
1

我一直在谷歌搜索,但无法找到解决方案,希望有人可以提供帮助 .

我正在尝试将一系列数据从一个工作表(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

1 回答

  • 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
    

相关问题