当前位置: 首页 > 知识库问答 >
问题:

打开两个不同的工作簿时出现运行时错误1004

薛宇
2023-03-14
run time error 1004. File can't be found.
Sub ProcessReport()


Dim MainWb As Workbook
Dim DestWb As Workbook


' Load source and destination files
Set DestWb = Workbooks.Open(Range("E10").Value)
Set MainWb = Workbooks.Open(Range("E6").Value)

' Code for manipulation


End Sub

共有1个答案

江文斌
2023-03-14

在您的原始代码中,第二个workbooks.open命令从工作簿“destwb”中读取单元格“e6”,因为它是执行该命令时的activeWorkbook,而不是保存宏的工作簿。您可以通过更改以下内容来解决此问题:

Set DestWb = Workbooks.Open(Range("E10").Value)
Set MainWb = Workbooks.Open(Range("E6").Value)

对此:

Set Ws = ThisWorkbook.Sheets("Sheet1")
Set DestWb = Workbooks.Open(Ws.Range("E10").Value)
Set MainWb = Workbooks.Open(Ws.Range("E6").Value)

这将从宏运行的工作簿中保存“sheet1”作为对象引用,以便宏尝试使用保存宏的工作簿中的“e10”和“e16”中的文件。范围(“e6”)。值现在用工作表ws限定。
您可以将“sheet1”更改为宏工作簿中文件路径所在的选项卡。

 类似资料:
  • 我试图实现一个简单的Excel-VBA宏,让用户在文件资源管理器中浏览另一个工作簿,然后将该工作簿中的某些单元格复制到我的活动工作簿中。下面是我的简短代码: 该宏用于从所选工作簿(B2:C43)复制单元格,并将其复制到当前工作簿“配置”表上的单元格(A6:B47)中。当我运行宏时,我得到“运行时错误'1004':Range类的PasteSpecial方法失败”。调试器突出显示行:

  • 我正在尝试使用两个不同工作簿中的两张表。由于某种原因,此代码返回一个错误 当我使用watch Destination检查Source时,这个赋值返回一个为空的对象,但是现在看起来工作得很好! 出于某种原因,最后一行给出了运行时1004错误(对象'_global'的方法'range'失败),单元格引用的是源表,而不是目标表。

  • 问题内容: 我正在创建一种从文件写入和读取工作簿的方法,但是当我第二次调用此方法时。发生错误:org.apache.xmlbeans.impl.values.XmlValueDisconnectedException 问题答案: 同意Akokskis,编写两次导致问题的文件,但是您可以在编写之后尝试重新加载工作簿,这样便可以正常工作。例如

  • 我一直在为我的公司开发一个Excel宏,该宏打开几个工作簿,分析它们的特定信息行,存储该行,然后在完成每个工作簿后,在两个页面中的一个页面上设置单个工作簿中单元格的水平选择值。我遇到的问题是,在尝试选择第二个页面时,我需要将数据放在上面,我得到一个运行时错误1004。 我可以做什么来修复这个错误?

  • 我有一个lubuntu-64bit并安装了MySQL-workbench来打开EER模型。但是就是打不开.. 它显示错误 相同的EER文件可以在windows中正常打开…我是新手,我需要在这台机器上使用这些创建数据库,请帮助…

  • 我一直在尝试定义一个Jenkins管道,将Github中的两个项目签出到同一工作区的两个独立子目录中,但不幸的是,到目前为止我的所有尝试都无济于事。 我找到了一些对一些人有用的例子,并试图效仿他们。我用过的是: 使用Jenkins管道将多个git回购签出到同一作业中 这里: 无法签出Jenkinsfile中的其他分支吗? 下面是我的完整管道脚本,其中有两个签出变体,我正试图使用它们(dir-git