如何将数据从工作簿1的工作表1复制到工作簿2的工作表2?

问题描述 投票:0回答:1

我需要将数据从Sheet1Workbook1复制到Sheet2Workbook2。我需要将工作表1的数据从A1复制到AE(LastRow),然后将整个复制的数据粘贴到Q1Sheet2Workbook2

这是我的代码:

Set wbkA = Workbooks.Open(Filename:="D:\Excel\Workbook1.xlsx")

     For Each oSheet In wbkA.Sheets

        If oSheet.Name = "Sheet1" Then
           Set NewWorksheetA = wbkA.Worksheets(oSheet.Name)
        End If

    Next oSheet
Set wbkB = Workbooks.Open(Filename:="D:\Excel\Workbook2.xlsx")

     For Each oSheet In wbkB.Sheets

        If oSheet.Name = "Sheet2" Then
           Set NewWorksheetB = wbkB.Worksheets(oSheet.Name)
        End If

    Next oSheet
''''''''''''''''''''''''''''''''''''''''''''''''''''''' for Loop for row and Column Starts here to compare the data
If Not NewWorksheetA Is Nothing Then

''''''''''''''''''''''''''''''''''''''''''''''''''''''' Getting Last Column index from current Worbook to Write the UpdateStatus
LastRow = NewWorksheetA.Cells(NewWorksheetA.Rows.Count, 2).End(xlUp).Row
'MsgBox "Last Row Number:" & LastRow
LastColumn = NewWorksheetA.Cells(8, NewWorksheetA.Columns.Count).End(xlToLeft).Column
'MsgBox "Last Column Number:" & LastColumn

Workbooks("D:\Excel\Workbook1.xlsx").Worksheets("Sheet1").Range("A1:AE" & LastRow).Copy _
Workbooks("D:\Excel\Workbook2.xlsx").Worksheets("Sheet2").Range("Q1")

End If

我收到以下错误

Run Time Error 9:

Subscript out of range.

我想使用用于工作簿和工作表名称的变量

我需要将数据从Workbook1的Sheet1复制到Workbook2的Sheet2。我需要将工作表1的数据从A1复制到AE(LastRow),然后将整个复制的数据粘贴到Workbook2的工作表Sheet2的Q1。这是我的...

excel vba
1个回答
0
投票

替换此代码:

© www.soinside.com 2019 - 2024. All rights reserved.