Ten samouczek nauczy Cię, jak ukrywać i odkrywać arkusze robocze za pomocą VBA.
Ukryj arkusz w VBA
Aby ukryć arkusz w VBA, użyj właściwości arkusza roboczego.
Ustaw właściwość Visible na FALSE:
1 | Arkusze("Arkusz1").visible = False |
lub ustaw właściwość Visible na xlSheetHidden:
1 | Arkusze("Arkusz1").visible = xlSheetHidden |
To tak samo, jak gdyby użytkownik kliknął prawym przyciskiem myszy kartę arkusza i wybrał „ukryj”.
Odkryj arkusz
Aby odkryć arkusz w VBA, użyj arkusza Widoczna właściwość:
1 | Arkusze("Arkusz1"). Widoczny = Prawda |
lub
1 | Arkusze("Arkusz1").Visible = xlSheetVisible |
Ukryte arkusze można wyświetlić, klikając prawym przyciskiem myszy obszar karty Arkusz:
Bardzo ukryte arkusze
Właściwość Widoczny arkusz ma trzecią opcję: xlSheetVeryHidden:
1 | Arkusze("Arkusz1").Visible = xlSheetVeryHidden |
Bardzo ukryte Arkusze są ukryte po kliknięciu prawym przyciskiem myszy w obszarze karty Arkusz:
Ten kod uniemożliwi użytkownikowi arkusza kalkulacyjnego wyświetlenie karty Arkusz u dołu ekranu. Ukrywa również arkusz roboczy przed użytkownikiem, gdy kliknie on prawym przyciskiem myszy karty na dole. Jedynym sposobem sprawdzenia, czy arkusz istnieje (lub odkrycia arkusza) jest otwarcie Edytora Visual Basic.
Odkryj bardzo ukryte arkusze
Bardzo ukryte Arkusze są widoczne, tak jak zwykłe ukryte Arkusze:
1 | Arkusze ("Arkusz1"). Widoczny = Prawda |
lub
1 | Arkusze("Arkusz1").Visible = xlSheetVisible |
Ukryj / odkryj arkusze w edytorze VBA
Możesz także przełączyć właściwość Widoczny arkusz roboczy w Edytorze VBA:
Ukryj wszystkie zakładki arkusza
Możesz również całkowicie ukryć obszar karty Arkusz roboczy, aby uniemożliwić użytkownikowi nawigację do różnych arkuszy roboczych. Dowiedz się więcej o ukrywaniu kart arkusza roboczego.
Ukryj / odkryj arkusze w chronionym skoroszycie
Skoroszyt musi być niezabezpieczony, aby można było ukryć lub odkryć arkusze. Aby usunąć ochronę struktury skoroszytu, użyj następującego kodu:
1 | ActiveWorkbook.Unprotect |
Jeśli struktura skoroszytu jest chroniona hasłem, musisz to zrobić:
1 | ThisWorkbook.Unprotect „hasło” |
Odkryj wszystkie arkusze
Ta procedura odkryje wszystkie arkusze w skoroszycie za pomocą funkcji For Each Loop:
12345678 | Sub Odkryj_Wszystkie_Arkusze()Dim ws As WorksheetActiveWorkbook.UnprotectDla każdego ws w arkuszach roboczychws.Visible = xlSheetVisibleNastępnyNapis końcowy |
Zauważ, że najpierw usuwamy ochronę skoroszytu, na wypadek gdyby był chroniony hasłem.