簡體   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