从另一个工作簿中调用一个函数


0

我在一个工作表中有一堆数据,我试图根据几列中的值保存到单个工作簿中。我采用的方法(无论好坏!)是将相关的工作表(和宏)复制到新的工作簿中,并用适当的名称保存(例如“ temp.xlsx”),然后清理其中的数据。通过删除不相关的行(称为deleteInfo的函数)来创建新工作簿。根据公司政策,所有这些都必须在不更改原始工作簿的情况下完成。

我可以毫无问题地复制内容,但是那时在新工作簿中调用宏时遇到了严重的问题。

我努力了:

Application.Run "'temp.xlsx'!deleteInfo"

ActiveWorkbook.Application.Run deleteInfo

Application.Run ("'C:\user\.....\temp.xlsx'!deleteInfo") 

但没有一个奏效。

任何帮助深表感谢。

Answers:


0

我认为您已经通过在数据已使用VBA代码退出文件后尝试运行清理,使问题变得更加复杂。

您可以在源文件中复制工作表,对重复项进行更正,然后在清理干净后将其移到新工作簿中。


同意,它过于复杂。我很想在原始工作簿中进行清理。可悲的是,公司政策规定不能更改源文件。
Cormac 2015年

两种可能的解决方法:1)您可以复制整个工作簿并将其用作工作副本,否则2)仅在复制选项卡和将其移出文件之间不保存文件。如果源文件在宏运行之前和之后处于相同状态,并且没有编辑任何原始选项卡,则我不会将其量化为更改,并且我怀疑该策略是否会做出这种区分。
史蒂夫·泰勒

1)让我遇到同样的问题,无法重复调用宏。我可以手动启动一个新功能,但是可能有10个文件要执行。2)可悲的是违反了上述政策。谢谢你的建议。
科马克2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.