繁体   English   中英

我需要参考ThisWorkbook(Excel VBA)

[英]do I need to refer ThisWorkbook (Excel VBA)

我在工作簿中的特定工作表上执行了一些VBA操作,这些工作表可能会在以后复制,从而使最终用户可以一次打开多个副本(并用不同的数据填充表格)。

题:
我是否需要显式引用ThisWorkbook.Sheets(strMySheetName)以避免任何代码在具有相同名称的工作表工作簿的另一个副本 (同时打开)中进行操作,或者Sheets集合始终引用工作簿? 代码驻留在 (即ThisWorkbook )?

简短答案:不,您不需要。

宏的默认执行上下文是当前活动的工作簿。 因此,如果通过对工作簿工作表执行操作(计算,按钮之类的小部件,保存或加载事件)来启动宏,则没有任何风险。

如果您的宏是跨工作簿,可以由对另一个工作簿的操作触发,或者打算设置焦点,加载,修改其他工作簿,则必须指定ThisWorkbook.

正如您在问题注释中已经提到的那样,诸如Workbook("myworkbookname")类的替代方案在许多情况下更能消除歧义,但在更改文件名时会产生副作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM