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

Conrole of blad verwijderd is

Status
Niet open voor verdere reacties.

Ron321

Gebruiker
Lid geworden
15 jul 2005
Berichten
555
Ik heb een map waarin bepaalde bladen verborgen worden met een macro onder bepaalde voorwaarden.
In sommige situaties wordt één van die bladen al handmatig verwijderd.
Als de macro deze vervolgens probeert te verbergen krijg je een foutmelding, logisch.

Kan ik deze macro eerst laten controleren of dat blad aanwezig is ja of nee?

Code:
Sub keuze()
Application.ScreenUpdating = False
keus = UCase(Sheets("blad3").Range("M5").Value)
Select Case keus
Case "3"
    Sheets("blad2").Visible = False
    Sheets("blad1").Visible = False
    
Case "6"
    Sheets("blad2").Visible = False
    Sheets("blad1").Visible = False
    
Case "2"
    Sheets("blad2").Visible = True
    Sheets("blad1").Visible = True
    
Case "5"
    Sheets("blad2").Visible = True
    Sheets("blad1").Visible = True
End Select
End Sub
 
Code:
Sub keuze()
    On Error Resume Next
    Select Case [blad3!M5]
    Case 3, 6
        Sheets("blad1").Visible = False
        Sheets("blad2").Visible = False
    Case 2, 5
        Sheets("blad1").Visible = True
        Sheets("blad2").Visible = True
    End Select
End Sub

Wigi
 
of

Code:
Sub keuze()
  On Error Resume Next
  sheets(Array("blad1","blad2")).visible=instr("36",[Blad3!M5])=0
End Sub
 
of

Code:
Sub keuze()
  On Error Resume Next
  sheets(Array("blad1","blad2")).visible=instr("36",[Blad3!M5])=0
End Sub

Dag Snb

In bijlage een testfile, waaruit blijkt dat jouw suggestie niet werkt. Tenzij ik zelf iets verkeerd doe.

Tevens, jouw code heeft niet dezelfde functionaliteit als die van de vraagsteller. Als de vraagsteller het getal 1 ingeeft in die cel, zou er niets mogen gebeuren. Bij jouw code worden de 2 bladen dan zichtbaar. Of nog een grotere binnenkopper: wat met het getal 36 in die cel M5? :D

Wigi
 

Bijlagen

Cher Wigi,

Bien sur, vous avez raison.

Ik vergeet steeds dat die array maar heel beperkt werkt bij de methodes, niet bij de eigenschappen.

Dit beter ?
Code:
Sub keuze()
  On Error Resume Next
  With Sheets("blad1")
    .Visible = InStr("|3|6|", "|" & [blad3!M5] & "|") = 0
    Sheets("blad2").Visible = .Visible
  End With
End Sub
 
Bien sûr. Nederlanders en hun talen... :D
 
Laatst bewerkt:
@Wigi
Je sais, maar kwas een kwartier bezig om de goede toetscombinatie te vinden Alt+ ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan