• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Voorwaardelijk tabblad verbergen/weergeven

Status
Niet open voor verdere reacties.

TheDutchess

Gebruiker
Lid geworden
18 jun 2013
Berichten
8
Hallo,

Heb een min of meer vergelijkbare vraag gevonden, maar gezien mijn beperkte ervaring met macro's was ik niet in staat de oplossing die daar gegeven werd om te zetten naar mijn eigen probleem.
Graag zou ik een tabblad in excel alleen weergeven als de waarde in een specifieke cel >0.
Zeg het tabblad is blad 2 en heeft als naam 'test', en de cel is A1 op datzelfde tabblad.
Hoop dat iemand hier een mooie oplossing voor heeft.

TheDutchess
 
Heb je een voorbeeldje in Excel? En eventueel de link naar de vergelijkbare vraag?
Dan weet de helper wat je beoogde resultaat is en de opmaak van je bestand...
 
Bedoel je zoiets?

Code:
For i = 1 To ActiveWorkbook.Worksheets.Count
        If ActiveWorkbook.Sheets(i).Range("A1") > 0 Then
            ActiveWorkbook.Sheets(i).Visible = True
        Else
            ActiveWorkbook.Sheets(i).Visible = False
        End If
Next i

Rebmog
 
Bedankt voor de hulp.
Inmiddels had ik na wat uren studeren op het maken van macro's zelf dit in elkaar gepuzzeld, en dit werkt:

Code:
Sub HideIt ()

    Dim DeCel As Integer
    DeCel = Worksheets("test").Range("A1").Value
    If DeCel <= 0 Then
        Sheets("test").Visible = False
        Else: Sheets("test").Visible = True
    End If

End Sub

Nu moet ik nog proberen te zorgen dat deze macro zichzelf uitvoert op het moment dat de waarde in cel A1 verandert, dus ik ben aan het proberen te leren hoe het event 'SheetChange' hierin ingebouwd kan worden. Heeft iemand hier nog een simpele code voor die ik over kan nemen?
 
Laatst bewerkt:
Hoe doe je het dan als het blad al verborgen is? Dan kan je A1 niet meer veranderen...
En is het voor 1 tabblad of voor al je tabbladen...
Code:
Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = "$A$1" Then
        If target <= 0 Then
            Sheets("test").Visible = False
        Else: Sheets("test").Visible = True
    End If
End Sub
 
Gelukt!

Nou, dat viel uiteindelijk mee. Na een extra uurtje studeren heb ik nu een werkende macro. Mochten anderen ooit met hetzelfde zitten, dit is uiteindelijk de code geworden:

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim DeCel As Integer
    DeCel = Worksheets("test").Range("A1").Value
    If DeCel <= 0 Then
        Sheets("test").Visible = False
        Else: Sheets("test").Visible = True
    End If

End Sub

Note: deze macro moet geplaatst worden in 'ThisWorkbook' en werkt alleen als je meer dan 1 tabblad hebt (je kunt niet je enige tabblad verbergen).

Bedankt voor de hulp :)
 
Hoe doe je het dan als het blad al verborgen is? Dan kan je A1 niet meer veranderen...
En is het voor 1 tabblad of voor al je tabbladen...

Het is deel van een groter document, en A1 verandert als ik iets in een ander tabblad aanpas. Waarschijnlijk zou het geheel nog netter zijn als ik naar dat andere tabblad zou verwijzen, maar ik was hier allang blij mee :P . Het gaat momenteel om het verbergen van dit tabblad als het niet relevant is vanwege op een ander tabblad ingevulde waarden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan