当您输入工作表()时,默认范围ActiveWorkbook或ThisWorkbook是什么?对于那些不了解这些区别的人来说,当你想要在切换到不同的工作簿时运行宏时,它们在Excel 2013中非常重要。
答案 0 :(得分:15)
在标准模块中,不合格的Worksheets()
将始终引用ActiveWorkbook。在ThisWorkbook
模块中,隐式限定符为Me
,它将引用包含的工作簿。
同样,标准模块中的不合格Range()
或Cells()
(或Rows()
/ Columns()
)将引用ActiveSheet,但在工作表代码模块中隐式限定符是Me
,并将引用相应的工作表。
Unqualified... Where Implicit Qualifier
-------------- -------------- -------------------
Worksheets(), ThisWorkbook Containing workbook (Me)
Sheets() Any other module Active workbook (via [_Global])
Range(), Cells(), Sheet module Containing sheet (Me)
Rows(), Columns(), Any other module Active sheet (via [_Global])
Names()
避免记住任何的简单方法是始终完全符合任何Worksheets
,Sheets
,{{1} },Range
或Cells
参考。
在引用该模块代码隐藏中的Names
或在该模块的代码隐藏中引用Me
时,使用ThisWorkbook
限制成员通话。