7

我现在以这种方式设置我的工作簿,在工作簿被硬编码到 Set 命令中的地方,我想知道是否有这样做的方法,以便我可以将它放在流动的地方?因此,无论此代码位于何处(在另一个工作簿中),该代码都将适应它的新环境。

这有意义吗?

下面是我现在正在使用的,我想让它做的是代替使用ActiveWorkbook或类似的东西。因为这将设置在代码的开头而不是中间。

Set wbOOR = Application.Workbooks("Open Order Report.xlsm")

4

3 回答 3

25

你可能在追求Set wbOOR = ThisWorkbook

只是为了澄清

ThisWorkbook将始终引用代码所在的工作簿

ActiveWorkbook将引用处于活动状态的工作簿

在处理多个工作簿时要小心如何使用它。这实际上取决于您想要实现的目标,哪个是最佳选择。

于 2012-09-06T15:09:03.027 回答
3

这就是你所需要的

Set wbOOR = ActiveWorkbook
于 2012-09-06T15:09:30.610 回答
0

试试这个。

Dim Workbk as workbook
Set Workbk = thisworkbook

现在,您编写的所有内容都将仅适用于包含宏的工作簿。

于 2017-03-29T02:03:25.483 回答