代码之家  ›  专栏  ›  技术社区  ›  Gravitate

如何在工作簿(而不是ActiveWorkbook)中获取所选选项卡?

  •  1
  • Gravitate  · 技术社区  · 7 年前

    我希望这是一个简单的问题。。。

    “ActiveSheet”返回当前活动的工作表,即使宏是在不同的工作簿(或不同的工作表)中运行的。

    那么,如何获取当前在特定工作簿中有焦点的工作表,即使该工作簿不是当前活动的工作簿?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Valon Miller    7 年前

    你可以通过完全限定 .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