2012-01-10 7 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