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

kijken of tabblad bestaat

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

gvb

Gebruiker
Lid geworden
22 nov 2005
Berichten
22
Hallo,

ik heb een werkmap waarin met een macro een tabblad met de naam 'Rapport' wordt toegevoegd. Wanneer het excelbestand wordt afgesloten moet dit blad worden verwijderd. Hiervoor heb ik de volgende code gebruikt:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Rapport").Select
ActiveWindow.SelectedSheets.Delete
ThisWorkbook.Close
End Sub

Nu krijg ik telkens een foutmelding nadat het blad is gewist. Dit komt denk ik omdat voor het sluiten van de werkmap het tabblad 'Rapport' niet meer bestaat en die zoek hij nog.

Wat moet ik in de code zetten om eerst te zoeken of er een tabblad met de naam 'Rapport' bestaat?

MVG,
GvB
 
Deze code verwijdert Blad "Rapport"en slaat het Bestand op zonder waarschuwingen.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Sheets("Rapport").Delete
If Me.Saved = False Then Me.Save
Application.DisplayAlerts = False
End Sub
 
Dit werkt als het tabblad 'Rapport' bestaat. Maar de macro om dit tabblad te maken wordt niet altijd gebruikt. Als het tabblad niet bestaat krijg ik bij het afsluiten van het bestand toch een foutmelding omdat het blad niet gevonden kan worden. Eerst moet dus opgezocht worden of dit blad bestaat.

MVG,
Gerben
 
Dat klopt Gerben.
Probeer deze eens.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim x As Object
On Error Resume Next
Set x = ActiveWorkbook.Sheets("Rapport")
If Err = 0 Then
Application.DisplayAlerts = False
Sheets("Rapport").Delete
If Me.Saved = False Then Me.Save
Application.DisplayAlerts = False
Else
If Me.Saved = False Then Me.Save
End If
End Sub
 
Hiermee kan ik inderdaad afsluiten zonder een foutmelding.

Hardstikke bedankt!!

MVG,
Gerben
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan