2012-01-10 15 views
5

Istnieje sposób wyboru wielu arkuszy Excela, a następnie wykonanie na nich pewnych czynności, takich jak Drukuj. Jednak biorąc pod uwagę skoroszyt, jak mogę się dowiedzieć, które arkusze są wybrane. Istnieje właściwość vba Application-> ActiveSheet, która udostępnia nam bieżący aktywny arkusz, ale nie mogłem znaleźć żadnego sposobu na pobranie wielu arkuszy.Sposób pobierania wielu zaznaczonych uchwytów arkuszy w skoroszycie przy użyciu interfejsu Excel VBA API

Odpowiedz

10

Czy tego chcesz?

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 

Sid

+2

+1 dobra odpowiedź Sid – brettdj

Powiązane problemy