【发布时间】:2016-08-05 00:59:52
【问题描述】:
我已经在谷歌上搜索了一段时间,但无法找到解决方案,希望有人能提供帮助。
我正在尝试将数据范围从一个工作表 (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
【问题讨论】:
-
显示你的代码。
-
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
-
是否可以将整个列从A复制到E?
-
请编辑您的问题并将代码放入问题中,而不是评论。您可能想四处看看,以了解这里的工作方式。
-
对不起,可能我描述的不正确,我需要来自 A1:E3 的所有数据,取决于输入的数据,有时会有更多或更少的行,所以它可能会更改为 A1:E4 ,5,6,7...