Soms zal Excel een dialoogvenster weergeven om aan de gebruiker te vragen of hij/zij wil doorgaan, of hij/zij het bestand wil opslaan voor afsluiten of andere goedkeuringen van de gebruiker vragen.
Je kan deze berichten voorkomen met één regel VBA.
Alle waarschuwingen verbergen
Application.DisplayAlerts = False
De waarschuwingen zullen nu uitgeschakeld zijn tot je ze terug aan zet met:
Application.DisplayAlerts = True
Wijzigingen opslaan?
Wanneer je enkel een bestand wil afsluiten zonder dat de gebruiker gevraagd wordt naar enige bevestigingen in verband met het opslaan van het bestand, kan je dit heel eenvoudig als volgt voorkomen:
ActiveWorkbook.Close False
Sluit het bestand zonder opslaan van wijzigingen, zonder een dialoogvenster te tonen.
ActiveWorkbook.Close True
Sluit het bestand met opslaan van wijzigingen, zonder een dialoogvenster te tonen.
Voorbeelden van waarschuwingen
Verwijderen van een werkblad
Sub blad_verwijderen() Activeworkbook.Sheets(1).Delete End Sub
Resulteert in volgende waarschuwing:
(De bladen die zijn geselecteerd om te worden verwijderd, bevatten mogelijk gegevens. Als u deze gegevens permanent wilt verwijderen, klikt u op Verwijderen.)Bij het gebruik van “Application.DisplayAlerts = False” zal automatisch voor “Verwijderen” gekozen worden.
Afsluiten van een bestand waarin wijzigingen gebeurd zijn
Sub bestand_afsluiten() Activeworkbook.Close End Sub
Dit geeft volgende melding:
(Wilt u de wijzigingen in Map1.xlsm opslaan?)Bij het gebruik van “Application.DisplayAlerts = False” zal automatisch voor “Ja” gekozen worden.
Beter gebruikt men hier “ActiveWorkbook.Close False” of “ActiveWorkbook.Close True”
Afsluiten van een bestand met gegevens op het klembord
Wanneer er zich gegevens op het klembord bevinden voor het afsluiten van het bestand, wordt er nog een andere melding weergegeven.
Sub bestand_afsluiten_klembord() Range("A1:A1000").Copy ActiveWorkbook.Close True End Sub
Dan krijg je deze melding:
(Er is een grote hoeveelheid informatie aanwezig op het klembord. Wilt u deze informatie in een ander document kunnen plakken?)Bij het gebruik van “Application.DisplayAlerts = False” zal automatisch voor “Ja” gekozen worden.
Opslaan van een bestand met een naam die al bestaat
Stel: er staat al een bestand in “C:\TEMP\” met de naam “exhelp.xlsm”.
Sub bestand_opslaanals_bestaat al () ActiveWorkbook.SaveAs "C:\TEMP\exhelp.xlsm" End Sub
Deze melding verschijnt:
(Er bestaat in deze locatie al een bestand met de naam C:\TEMP\exhelp.xlsm. Wilt u dit bestand vervangen?)Bij het gebruik van “Application.DisplayAlerts = False” zal automatisch voor “Ja” gekozen worden.
Openen van een bestand met koppelingen die niet kunnen worden bijgewerkt.
Sub bestand_openen Workbooks.Open "C:\TEMP\werkblad_met_verwijzingen.xlsx" End Sub
Wanneer het bestand “werkblad_met_verwijzingen.xlsx” verwijzingen naar of koppelingen met een ander bestand bevat, en dit bestand zich niet meer op de oorspronkelijke plaats bevindt, verschijnt volgende melding:
(Deze werkmap bevat een of meer koppelingen die niet kunnen worden bijgewerkt. Klik op Koppelingen bewerken als u de bron van de koppelingen wilt wijzigen of de waarden opnieuw wilt bijwerken. Klik op Doorgaan als u de koppelingen niet wilt wijzigen.)Bij het gebruik van “Application.DisplayAlerts = False” zal automatisch voor “Doorgaan” gekozen worden.
Application.DisplayAlerts = True
Waar en hoe schrijf ik dat weg om dat toepasselijk te maken op alle bestanden waarin wijzigingen zijn gebeurd.
Hoelang is het wachten op de goedkeuring van een reactie?