首页 > 解决方案 > 在另一个刚刚打开的工作簿中运行宏

问题描述

我的问题与其他问题相似,但不完全一样。解决方法的要点是使原始文件保持不变。

我有文件 A 和 B。A 中的宏必须:

  1. 用 A 中的宏打开 B(确定)
  2. 在 A 中执行一个宏,该宏在 B 中执行所有计算(因此,如果在 B 中运行相同的宏,则不会出现问题)
  3. 将结果从 B 复制到 A
  4. 关闭 B 而不保存
  5. 循环不同的B并将所有复制到A

这是可能的还是我应该以其他方式解决这个问题?

标签: excelvba

解决方案


如何编辑另一个工作簿中的单元格并将其中的内容复制到此工作簿中的基本示例:

'open another workbook
Dim wbB As Workbook
Set wbB = Workbooks.Open(FileName:="C:\Temp\WorkbookB.xlsx", ReadOnly:=True)

'change something in that other workbook
wbB.Worksheets("SheetInWorkbookB").Range("A1").Value = "I changed it"

'copy from that other workbook into this workbook
wbB.Worksheets("SheetInWorkbookB").Range("A1:A10").Copy Destination:=ThisWorkbook.Worksheets("Result").Range("A1")

'close that other workbook without saving
wbB.Close SaveChanges:=False

推荐阅读