2012-01-10 1 views
5

Có một cách để chọn nhiều trang tính Excel và sau đó thực hiện một số thao tác trên chúng như In. Tuy nhiên cho một bảng tính, làm thế nào để tôi biết được những tấm nào được chọn. Có một thuộc tính vba Application-> ActiveSheet cung cấp cho chúng ta bảng hoạt động hiện tại, nhưng tôi không thể tìm thấy bất kỳ cách nào để có được nhiều tờ cho việc này.Cách lấy nhiều bảng điều khiển đã chọn trong sổ làm việc bằng cách sử dụng Excel VBA API

Trả lời

10

Đây có phải là những gì bạn muốn không?

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 câu trả lời tốt Sid – brettdj