[英]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.