• 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.

Bladen verbergen als...

  • Onderwerp starter Onderwerp starter lecxe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

lecxe

Gebruiker
Lid geworden
12 jan 2005
Berichten
97
Beste mensen,

Is er een oplossing voor het volgende:

Ik heb een excel file met diverse werkbladen. Als een bepaalde cel(bijv B2) van een bepaalde werkblad(bijv blad4) leeg is moet de werkblad worden verborgen middels een macro. Deze cel is gekoppeld aan een cel in het eerste werkblad(bijv hoofdblad). Op het eerste werkblad worden de waarden ingevuld. Het aantal werkbladen is onbekend omdat er nog bij zullen komen of verdwijnen.
Ik dacht zelf aan een updatebutton op de eerste werkblad waar je op kan klikken. Deze macro controleert in alle werkbladen een bepaalde cel (bijv B2) om te kijken of deze leeg zijn en zoja dan werkblad verbergen.

ik weet niet of het helemaal overkomt maar dan hoor ik het wel
bij voorbaat dank

lecxe
 

Bijlagen

Onderstaande macro telt het aantal werkbladen van het bestand.
Vervolgens wordt gecontroleerd of de cel B2 van de werkblad leeg is.
Is de cel leeg dan wordt het werkblad verborgen.
Is de cel NIET leeg, dan verschijnt er vanaf regel 3 op het eerste werkblad de naam van het werkblad en de waarde in cel B2.



Sub Macro2()

Dim Aantal As Integer
Dim WerkBlad As Integer
Dim Rij As Integer

Aantal = ActiveWorkbook.Worksheets.Count
WerkBlad = 2
Rij = 3

Do Until WerkBlad > Aantal
If Worksheets(WerkBlad).Range(" B2") = "" Then
Worksheets(WerkBlad).Visible = False
Else
Worksheets(1).Cells(Rij, "A") = Worksheets(WerkBlad).Name
Worksheets(1).Cells(Rij, "B") = Worksheets(WerkBlad).Range(" B2")

Rij = Rij + 1
End If
WerkBlad = WerkBlad + 1
Loop

End Sub
 
Heb het geprobeerd en werkt bijna zoals ik het wil hebben.
Ik begrijp alleen dat met die rijen niet? Dat hoeft ie niet aan te geven. Het enige wat moet veranderen is de getallen achter blad2 of blad3 etc. en die voer je handmatig in. Als je daar niks invult dan moet het blad verdwijnen na dat je op die knop klikt en als je iets invult en dan op die button klikt dan moet die blad weer te voorschijn komen.

Dus als het mogelijk is dat ie niet vanaf regel 3 de naam van het werkblad weggaat zetten maar dat ie de juiste werkblad weer visible maakt. Als dat mogelijk is.

mvg lecxe
 
Onderstaande code zet de naam van de overige werkbladen in de rijen vanaf A3 dus als je een werkblad hernoemt, kan de macro het werkblad nog terugvinden.
Vervolgens wordt gekeken op er in de cel ernaast iets is ingevuld.

Zo ja - werkblad met dezelfde naam wordt zichtbaar gemaakt.
Zo niet - werkblad met dezelfde naam wordt onzichtbaar gemaakt.

Blad2 4
Blad3 3
Blad4
Blad5 8

Na macro

/ Blad2 \ / Blad3 \ / Blad5 \



Sub Knop1_BijKlikken()

Dim Aantal As Integer
Dim WerkBlad As Integer
Dim Rij As Integer

Aantal = ActiveWorkbook.Worksheets.Count
WerkBlad = 2
Rij = 3

Do Until WerkBlad > Aantal
ActiveSheet.Cells(Rij, "A") = Worksheets(WerkBlad).Name
If Cells(Rij, "B") = "" Then
Worksheets(WerkBlad).Visible = False
Else
Worksheets(WerkBlad).Visible = True

End If
Rij = Rij + 1
WerkBlad = WerkBlad + 1
Loop


End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan