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

Run-time error 32809 Application-defined or object-defined error

Status
Niet open voor verdere reacties.

Frans1976

Nieuwe gebruiker
Lid geworden
30 jan 2017
Berichten
2
Mijn collega krijgt deze foutmelding als er een knop gebruikt wordt met een macro om naar een ander blad te gaan.
Het stukje code waar steeds op wordt terug gekomen bij de debug is als volgt. De module is opgebouwd uit diverse sub macro's (doorverwijzing voor elke bladzijde) maar bij elke actie wordt de error weergegeven met verwijzing naar onderstaande code.


Sub ShowSheet()

Application.ScreenUpdating = False

n = Sheets.Count

For n = n To 1 Step -1
Sheets(n).Visible = True
Next n

n = Sheets.Count

For n = n To 1 Step -1
If Sheets(n).Name = SheetName Then
'do nothing
Else
Sheets(n).Visible = False
End If
Next n

Application.ScreenUpdating = True

Bij andere collega's speelt dit probleem niet en ikzelf kan dit ook niet reproduceren.
Heb hier al veel Engels talige oplossingen van gezien maar geen eenduidige versie die zegt, dit is het probleem en dit los je op door dit te doen.
Kan iemand hier wat licht op werpen want het beperkt de informatievoorziening van mijn collega enorm.
 
Waarom een dubbele lus?

Code:
Sub ShowSheet()
Sheets(Sheetname).Visible = True
For Each sh In Sheets
  sh.Visible = sh.Name = Sheetname
Next sh
End Sub

Of als er altijd maar 1 blad zichtbaar is
Code:
Sub VenA()
  Set sh = ActiveSheet
  Sheets(Sheetname).Visible = True
  If sh.Name <> Sheetname Then sh.Visible = False
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan