工作表和单元格和范围的默认范围是什么?

时间:2015-02-10 18:45:58

标签: excel vba

当您输入工作表()时,默认范围ActiveWorkbook或ThisWorkbook是什么?对于那些不了解这些区别的人来说,当你想要在切换到不同的工作簿时运行宏时,它们在Excel 2013中非常重要。

1 个答案:

答案 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()

避免记住任何的简单方法是始终完全符合任何WorksheetsSheets,{{1} },RangeCells参考。

在引用该模块代码隐藏中的Names或在该模块的代码隐藏中引用Me时,使用ThisWorkbook限制成员通话。