首页 > 解决方案 > 从 2 个工作簿复制到 1 个工作簿

问题描述

得到一个

运行时错误 1004

尝试从两个不同的工作簿复制到同一个工作簿时

我正在将两个工作表中的某些单元格复制到一个工作表中。我尝试了几种不同的方法来获取其他错误,所以我回到了这个。

Sub Range_Copy_Examples()

Dim wb As Workbook
Dim wb1 As Workbook
Dim wbData As Range
Dim wbData1 As Range
Dim wbExtract As Range
Dim wbExtract1 As Range

    Set wb = ActiveWorkbook
    Set wbData = wb.Worksheets("GAI").Range("A1")
    Set wbExtract = wb.Worksheets("Report").Range("A3:I3")

    wbData.CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wbExtract

    Set wb1 = ActiveWorkbook
    Set wbData1 = wb1.Worksheets("FUND").Range("H1")
    Set wbExtract1 = wb.Worksheets("Report").Range("J3:K3")

    wbData1.CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wbExtract1

End Sub

标签: excelvba

解决方案


它不适用于两个设置为 ActiweWorkbook 的工作簿,尝试在存储此代码的一个工作簿上将名称更改为 ThisWorkbook,并用您尝试从中复制的另一个工作簿的扩展名填充名称。

Sub Range_Copy_Examples()

Dim wb As Workbook
Dim wb1 As Workbook
Dim wbData As Range
Dim wbData1 As Range
Dim wbExtract As Range
Dim wbExtract1 As Range

Set wb = ThisWorkbook
Set wbData = wb.Worksheets("GAI").Range("A1")
Set wbExtract = wb.Worksheets("Report").Range("A3:I3")

wbData.CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wbExtract

Set wb1 = Workbooks("TheOtherWorkbook.xls")
Set wbData1 = wb1.Worksheets("FUND").Range("H1")
Set wbExtract1 = wb.Worksheets("Report").Range("J3:K3")

wbData1.CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wbExtract1

结束子


推荐阅读