vba - Workbooks.Open 填充 "source"而不是 "target"文件

标签 vba excel

我尝试了以下方法,以及许多其他未提及的方法,但取得的成功有限。

https://msdn.microsoft.com/en-us/library/office/ff194819.aspx

Workbooks.Open Method in VBA

我的情况是这样的:我有一个每周文件,由我们的 ERP 系统生成,填充的信息有限。我记录了一个宏(是的,我知道......)来自动填充我需要的其他数据,从另一个源链接,但宏总是要求我在填充数据之前打开“源”工作簿。我想使用“Open.Workbooks”表达式打开工作簿(只读且不更新链接),这样我就不必在每次运行宏时“深入”到源工作簿。

我找到了将工作簿作为只读文件打开的字符串,并且不更新链接。我已经将它作为一个独立的版本进行了测试,它的工作方式就像一个魅力:

Workbooks.Open Filename:="SourceFile.xlsx", ReadOnly:=True, UpdateLinks:=False

我遇到的问题是,当我将这个小子例程与其他宏组合时,应该填充在“目标”文件中的数据实际上填充在“源”文件中。我需要打开“源”文档,然后以某种方式激活“目标”工作簿,以便数据填充出现在“目标”工作簿中,而不是“源”中

我看到了与使用“open.workbooks”表达式后将事件工作簿设置为“目标”工作簿相关的代码片段,但我不知道如何实现它们。

最佳答案

dim wbsource as workbook
dim wbtarget as workbook

set wbsource = activeworkbook
set wbtarget = Workbooks.Open Filename:="SourceFile.xlsx", ReadOnly:=True, UpdateLinks:=False

'do your code here

设置两个不同的工作簿对象。

关于vba - Workbooks.Open 填充 "source"而不是 "target"文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700232/

相关文章:

validation - VBA Excel代码:cannot give named range to formula1 in validation

vba - 坚持使用我的 vba 代码来过滤基于日期的查找数据

vba - 如何比较工作表中的两整行

python - 数据帧交替数组

r - 将多个 data.frame 导出到多个 Excel 工作表的简单方法

excel - vba 删除逗号而不删除删除线

excel - 如何在Excel的数据模型中创建多对多关系?

excel - 无法使用 vba vlookup 查找日期

vba - 如何在启动Access 2007 时强制用户处理安全警告?

python - xlrd 无法读取从电子邮件附件下载的 xlsx 文件