Hoe een blad verbergen/tonen met vba?

U kunt VBA-code gebruiken om een blad in Excel te verbergen of weer te geven. Wanneer u met de rechtermuisknop op het bladtabblad klikt, ziet u de optie om het te verbergen of weer te geven, en hetzelfde kunt u doen met een VBA-code.

In dit artikel zullen we enkele manieren en methoden bekijken die we kunnen gebruiken.

VBA-code om een blad te verbergen

Stel dat u ‘Blad1’ wilt verbergen in de actieve werkmap. In dit geval moet u code als deze gebruiken.

 Sheets("Sheet1").Visible = False

In de bovenstaande code heb je naar Sheet1 verwezen, de eigenschap zichtbaar gebruikt en deze gewijzigd in false.

Maak een blad heel verborgen

Er is nog een andere optie die u kunt gebruiken om een zeer verborgen blad te maken dat niet gemakkelijk door de gebruiker kan worden verborgen.

Verberg een blad op basis van de waarde van een cel

Oké, als je een celwaarde wilt gebruiken in plaats van rechtstreeks de bladnaam in de code te gebruiken, kun je naar deze cel verwijzen.

 Sheets(Range("A1").Value).Visible = True

Deze code verwijst naar cel A1 en gebruikt de waarde daar om te verwijzen naar het blad dat u wilt verbergen.

Handige links: Een macro uitvoerenMacrorecorderVisual Basic EditorHandboek voor persoonlijke macro’s

Controleer het blad voordat u het verbergt

U kunt ook een kleine code als deze gebruiken om het werkblad te controleren waarvan u de uitvoer wel of niet wilt verbergen.

 Sub vba_hide_sheet() Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If sht.Name = "Sheet1" Then sht.Visible = False Exit Sub End If Next sht MsgBox "Sheet not found", vbCritical, "Error" End Sub

De bovenstaande code gebruikt FOR EACH LOOP + IF STATEMENT om elk blad in de werkmap te doorlopen. En vink het blad aan dat u wilt verbergen.

Alle bladen verbergen (behalve ActiveSheet)

Nu is er één ding dat je moet begrijpen: je kunt niet alle bladeren verbergen. Er moet altijd één blad zichtbaar zijn.

 Sub vba_hide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ActiveSheet.Name <> ws.Name Then ws.Visible = False End If Next ws End Sub

De bovenstaande code doorloopt alle bladen in de werkmap, vergelijkt vervolgens de naam van elk blad met de naam van het actieve blad en verbergt deze als deze niet overeenkomt.

VBA-code om een blad weer te geven

Om een blad weer te geven, moet u de eigenschap zichtbaar wijzigen in TRUE.

 Sheets("Sheet1").Visible = False

Als het blad dat u wilt weergeven al zichtbaar is, geeft deze code geen fouten weer. Maar als dit blad niet bestaat, krijgt u een runtime-fout ‘9’.

vba-code-om-een-blad zichtbaar te maken

Gebruik VBA om alle verborgen bladen weer te geven

Stel je voor dat je meerdere verborgen werkbladen in een werkmap hebt en als je ze handmatig wilt verbergen, moet je dat een voor een doen.

Maar hier is de code die dit in één keer doet.

 Sub vba_unhide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Visible = False Then ws.Visible = True End If Next ws End Sub

Hij doorzoekt elk blad en ontmaskert het.

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *