如何使用Excel VBA API获取工作簿中的多个选定图纸句柄

如何使用Excel VBA API获取工作簿中的多个选定图纸句柄,excel,vba,Excel,Vba,有一种方法可以选择多个Excel工作表,然后对它们执行一些操作,如打印。然而,给定工作簿,我如何知道选择了哪些工作表。有一个vba属性应用程序->ActiveSheet,它提供了当前的活动工作表,但我找不到任何方法来获取多个工作表。这就是您想要的吗 Option Explicit Sub Sample() Dim ws As Worksheet Dim SelectedSheets() As String Dim n As Long, i As Long n

有一种方法可以选择多个Excel工作表,然后对它们执行一些操作,如打印。然而,给定工作簿,我如何知道选择了哪些工作表。有一个vba属性应用程序->ActiveSheet,它提供了当前的活动工作表,但我找不到任何方法来获取多个工作表。

这就是您想要的吗

Option Explicit

Sub Sample()
    Dim ws As Worksheet
    Dim SelectedSheets() As String
    Dim n As Long, i As Long

    n = 0
    For Each ws In ActiveWindow.SelectedSheets
        ReDim Preserve SelectedSheets(n)
        SelectedSheets(n) = ws.Name
        n = n + 1
    Next

    For i = LBound(SelectedSheets) To UBound(SelectedSheets)
        '~~> This will give you the list of selected sheets
        Debug.Print SelectedSheets(i)        
    Next i

    '~~> The collection can also be used as below
    'Sheets(SelectedSheets).Copy
    'Sheets(SelectedSheets).Select   ' e.g., to re-select them later
End Sub
希德