2012-01-10 2 views
5

여러 Excel 시트를 선택한 다음 인쇄와 같은 작업을 수행하는 방법이 있습니다. 그러나 통합 문서가 주어지면 어떤 시트가 선택되었는지 알 수있는 방법은 무엇입니까? 현재 활성 시트를 제공하는 vba 속성 Application-> ActiveSheet가 있지만이를 위해 여러 시트를 가져올 수있는 방법을 찾지 못했습니다.Excel VBA API를 사용하여 통합 문서에서 여러 시트를 가져 오는 방법

답변

10

이게 원하는가요?

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 

시드

+2

+1 좋은 답변 시드 – brettdj

관련 문제