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

graag woordje uitleg bij Private Sub Workbook_BeforeClose(Cancel As Boolean)

Status
Niet open voor verdere reacties.

rocknroadie

Gebruiker
Lid geworden
5 sep 2016
Berichten
184
Misschien is het een domme vraag maar ik stel ze toch

wat is het nut van de cancel in : Private Sub Workbook_BeforeClose(Cancel As Boolean)

ik begrijp dat in deze subroutine alles moet komen wat er moet gebeuren bij het sluiten van excel (of het werkboek) maar wat doet die cancel eigenlijk? wat is het nut van die cancel?

tweede zaak, hoe kan ik deze routine onderbreken?

het is namelijk de bedoeling dat als een bepaalde cel niet is ingevuld, het werkboek niet mag afgesloten worden. maar als ik de routine gewoon laat lopen sluit excel toch af.... dus, hoe kan ik dit voorkomen en de routine onderbreken?

alvast bedankt

Marc

Bekijk bijlage excelafsluiten onderbreken.xlsm
 
Als er aan de voorwaarde (b2="") is voldaan dan het sluiten cancelen.

blauwe coderegel toegevoegd.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Blad1.Cells(2, 2) = "" Then
    MsgBox "Je mag nog niet afsluiten, vul eerst de datum in!"
[COLOR=#0000ff]    Cancel = True[/COLOR]
End If
End Sub

In dit geval wil je dat cel b2 niet leeg is, dan niet sluiten.
Als cel b2 niet leeg is ga direct naar 'End if' en sluit af.
 
Laatst bewerkt:
Die laatste regel vind ik een beetje verwarrend.
Cancel = True betekent dat de Close opdracht wordt geannuleerd.
Het document wordt dus niet afgesloten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan