piątek, 5 kwietnia 2013

Excel VBA - Odkryj wszystkie arkusze

Makro (skrypt VBA) odkrywające wszystkie ukryte arkusze skoroszytu.

Sub ShowAllWorkBookSheets()
  For i = 1 To ActiveWorkbook.Sheets.Count  
    If (ActiveWorkbook.Sheets(i).Visible = False) Then 
      ActiveWorkbook.Sheets(i).Visible = True 

      ActiveWorkbook.Sheets(i).Activate  
    End If
  Next
End Sub 

Polecenie ActiveWorkbook.Sheets(i).Activate odpowiada za zmianę aktywnego arkusza. Po jego wykonaniu zostanie otwarty ostatni arkusz (ostatni z pośród właśnie przetworzonych).

Gdybyśmy chcieli automatycznie aktywować pierwszy (nowo odkryty) arkusz to najłatwiej przebudować pętlę for.
Tym razem schodzimy od ostatniego arkusza do pierwszego. W efekcie po wykonaniu skryptu właśnie ten pierwszy pozostanie otwarty.

Sub ShowAllWorkBookSheets()
  For i = ActiveWorkbook.Sheets.Count To 1 Step -1
    If (ActiveWorkbook.Sheets(i).Visible = False) Then
      ActiveWorkbook.Sheets(i).Visible = True
      ActiveWorkbook.Sheets(i).Activate
    End If
  Next
End Sub

Brak komentarzy:

Prześlij komentarz