我现在以这种方式设置我的工作簿,在工作簿被硬编码到 Set 命令中的地方,我想知道是否有这样做的方法,以便我可以将它放在流动的地方?因此,无论此代码位于何处(在另一个工作簿中),该代码都将适应它的新环境。
这有意义吗?
下面是我现在正在使用的,我想让它做的是代替使用ActiveWorkbook
或类似的东西。因为这将设置在代码的开头而不是中间。
Set wbOOR = Application.Workbooks("Open Order Report.xlsm")
你可能在追求Set wbOOR = ThisWorkbook
只是为了澄清
ThisWorkbook
将始终引用代码所在的工作簿
ActiveWorkbook
将引用处于活动状态的工作簿
在处理多个工作簿时要小心如何使用它。这实际上取决于您想要实现的目标,哪个是最佳选择。
这就是你所需要的
Set wbOOR = ActiveWorkbook
试试这个。
Dim Workbk as workbook
Set Workbk = thisworkbook
现在,您编写的所有内容都将仅适用于包含宏的工作簿。