我希望这是一个简单的问题...
我的理解是,即使宏在另一个工作簿中运行,“ ActiveWorkbook”也将返回当前活动的工作簿(这就是为什么我几乎总是使用“ ThisWorkbook”的原因)。
即使该宏在另一个工作簿(或另一个工作表)中运行,“ ActiveSheet”也将返回当前活动的工作表。
那么,即使该工作簿不是当前处于活动状态的工作簿,我如何才能获得当前焦点位于该工作簿的工作表呢?
答案 0 :(得分:2)
您可以通过完全合格.ActiveSheet
示例:
Private Sub test()
Dim wb As Workbook
Set wb = Workbooks.Add
'Change the name of Sheet1 in the second workbook
'so it's not confused with Sheet1 in the first workbook.
wb.Sheets("Sheet1").Name = "Foo"
ThisWorkbook.Activate
MsgBox wb.ActiveSheet.Name
End Sub