使用VBA将多个行从一个excel文件复制到另一个excel

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

我有一个很大的excel文件(大约10 MB),被写成一个很长的表列表。我想在一个单独的文件上创建一个宏,该宏在第一个文件中搜索某个值,然后返回适当的表。到目前为止,我已经可以使用搜索功能,并且可以使用offset返回单个单元格,但是当我返回多个记录时,会收到几个不同的错误。

我当前试图用来复制单元格的代码部分是:

d = c + 7
For Counter = c To d
    objWorkbook.Sheets("Sheetname").Range(Cells(Counter, "A"), Cells(Counter, "M")).Value = Range("M3:Y10").Value
Next

在这种情况下,它应该占用每一行并将其复制到指定的部分(c是当前正在检查的单元格,而d是每个单独表底部的行号),但我收到以下错误:

运行时错误'1004'应用程序定义或对象定义的错误

我在使用VBA时还很陌生,所以我不确定该错误是否非常简单,而且我只是没有正确看到它。

excel vba
1个回答
0
投票

[Cells(Counter, "A")Cells(Counter, "M")Range("M3:Y10")没有工作簿或工作表,因此默认为活动的工作簿。

d = c + 7
For Counter = c To d
    with objWorkbook.Sheets("Sheetname")
       'Not sure what the other workbook and sheet are called
       OtherWorkbook.Sheets("SheetnameHere").Range("M3:Y10").Value = .Range(.Cells(Counter, "A"), .Cells(Counter, "M")).Value 
    end with
Next
© www.soinside.com 2019 - 2024. All rights reserved.