我有一个审计,这是每天完成。我被要求将审计要点保存在单独的工作表上,以供管理部门审查。团队。代码如下,但当我运行它时,我得到一个错误:Script out of range。
Sub copy1()
Dim sheet2 As Worksheet
Dim sheet10 As Worksheet
Set sheet2 = Worksheets("sheet2")
Set sheet10 = Worksheets("sheet10")
sheet2.Range("a2:g10").Copy
sheet10.Cells(Rows.count, 1).End(xlUp).Offset(1, 0).pastspecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub发布于 2015-04-03 22:36:19
很难确定,但很可能是因为您的工作簿没有名为"Sheet2“和"Sheet10”的工作表,所以您收到了“子脚本超出范围”的错误。
下面的代码从Sheet2复制数据,并将数据的值粘贴到Sheet10上的下一个可用行。
Sub Copy2()
Dim DestinationStartingCell As Range
Dim SheetRowCount As Long
Worksheets("Sheet2").Range("A2:I29").Copy
SheetRowCount = Worksheets("Sheet10").Rows.Count '1048576 for Excel 2007 and later
Set DestinationStartingCell = Worksheets("Sheet10") _
.Range("A" & SheetRowCount).End(xlUp).Offset(1, 0)
DestinationStartingCell.PasteSpecial xlPasteValues
End Sub发布于 2015-04-04 01:11:02
您可以使用以下代码
emptyrow=WorksheetFunction.CountA(Workbooks(<workbookname>).Sheets(10).Range("A:A"))+1
Workbooks(<workbookname>).Sheets(10).Cells(emptyrow,1).pastespecial xlPasteValues在Sheet10中动态查找要粘贴到的第一个空行。
https://stackoverflow.com/questions/29433996
复制相似问题