Tabbladen verbergen of zichtbaar maken in excel

Status
Niet open voor verdere reacties.

PingoExcel

Gebruiker
Lid geworden
17 feb 2008
Berichten
33
HI Allen,

Vanuit bijgevoegd bestand heb ik volgende gekopieerd en toegepast op mijn eigen excel bestand:

Sub onzichtbaar()
For x = 2 To 88
Dim sheetname As String
sheetname = Cells(x, 1)
If Cells(x, 2) = "J" Then
Sheets(sheetname).Visible = True
Else
If Cells(x, 2) = "N" Then
Sheets(sheetname).Visible = False
End If
End If
Next
End Sub

Het bestand heeft 45 tabbladen en krijg nu telkens de melding:
Fout 9 tijdens uitvoering
Subscript valt buiten bereik

Wanneer ik de probleemoplosser open arceert hij Sheets(sheetname).Visible = False geel.


Kan iemand mij helpen dit op te lossen? Ik weet niet wat er fout staat



Bekijk bijlage voorbeeld macro v1.xls
 
Dan zal dat blad niet bestaan (de naam in de cel is niet juist).

Andere methode (de -1 kan je weghalen als je "enz" weghaalt in cel A8).
Code:
Sub onzichtbaar()
Dim sn, sheetname As String, x As Long
  sn = Cells(1).CurrentRegion
    For x = 2 To UBound(sn) - 1
      Sheets(sn(x, 1)).Visible = sn(x, 2) = "J"
   Next
End Sub
 
Met een controle of een blad bestaat en omdat je geen gegevensvalidatie gebruikt, wordt er niet meer gekeken naar alleen de hoofdletter 'J' maar ook naar de kleine letter 'j'
Code:
Sub VenA()
Dim ar, i As Integer, c00 As String
ar = Blad1.Cells(1).CurrentRegion
For i = 2 To UBound(ar)
    If Not IsError(Evaluate("'" & ar(i, 1) & "'!A1")) Then Sheets(ar(i, 1)).Visible = LCase(ar(i, 2)) = "j" Else c00 = c00 & ar(i, 1) & Chr(10)
Next i
If Len(c00) > 0 Then MsgBox c00
End Sub
 
HI VenA en HSV

Met beide oplossingen en opmerkingen heb ik het werken en is ook nog super snel. Fijn.
Weer wat geleerd!

Dank

Menno
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan