我每天都进行审核。我被要求将审核点保存到单独的表格中供mgmt审查。球队。代码如下,但是当我运行它时,我收到一个错误: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
答案 0 :(得分:0)
很难确定,但很可能您收到“下标超出范围”错误,因为您的工作簿没有名为“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
答案 1 :(得分:0)
您可以使用此代码
emptyrow=WorksheetFunction.CountA(Workbooks(<workbookname>).Sheets(10).Range("A:A"))+1
Workbooks(<workbookname>).Sheets(10).Cells(emptyrow,1).pastespecial xlPasteValues
动态查找Sheet10中的第一个空行以粘贴到。