Overzicht
In Microsoft Excel kunt u een VBA-macro (Microsoft Visual Basic for Applications) maken waarmee de prompt Wijzigingen opslaan wordt onderdrukt wanneer u een werkmap sluit. U kunt dit doen door de status van de eigenschap Opgeslagen werkmap op te geven of door alle waarschuwingen voor de werkmap te onderdrukken.
Meer informatie
OPMERKING: Microsoft biedt programmeervoorbeelden uitsluitend ter illustratie, zonder uitdrukkelijke of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal die wordt gedemonstreerd en met de hulpprogramma's die worden gebruikt om procedures te maken en fouten op te sporen. Microsoft-ondersteuningstechnici kunnen u helpen de functionaliteit van een bepaalde procedure uit te leggen. Zij zullen echter deze voorbeelden niet wijzigen om extra functionaliteit te bieden of procedures te maken om aan uw specifieke vereisten te voldoen.
Voer eerst de volgende stappen uit om de implementatie van een van de onderstaande voorbeelden voor te bereiden:-
Start Excel en open een nieuwe werkmap.
-
Druk op ALT+F11 om de Visual Basic-editor te starten.
-
Klik in het menu Invoegen op Module.
-
Typ de voorbeeldmacrocode in het moduleblad.
-
Druk op ALT+F11 om terug te keren naar Excel.
-
Kies in Microsoft Office Excel 2003 en in eerdere versies van Excel de optie Macro in het menu Extra en klik vervolgens op Macro's.
Klik in Microsoft Office Excel 2007 op Macro's in de groep Code op het tabblad Ontwikkelaars. Als het tabblad Ontwikkelaars niet beschikbaar is, kunt u het volgende doen: een. Klik op de Microsoft Office-knop en klik vervolgens op Opties voor Excel. b. Klik in de categorie Populair onder Topopties voor het werken met Excel om de optie Weergeven te selecteren Tabblad Ontwikkelaars in het selectievakje Lint en klik vervolgens op OK. -
Selecteer de gewenste macro en klik op Uitvoeren.
De eigenschap Opgeslagen retourneert de waarde Onwaar als er wijzigingen zijn aangebracht in een werkmap sinds deze voor het laatst is opgeslagen.Auto_Close gebruiken om een macro op te geven die moet worden uitgevoerd wanneer een werkmap wordt gesloten. Hiermee kunt u bepalen hoe het document wordt verwerkt wanneer de gebruiker de documenten in Excel sluit.
U kunt de naam van de gereserveerde subroutineVoorbeeld 1: de werkmap sluiten zonder wijzigingen op te slaan
Als u wilt dat een werkmap wordt gesloten zonder wijzigingen op te slaan, typt u de volgende code in een Visual Basic-module van die werkmap:
Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
Wanneer de eigenschap Opgeslagen is ingesteld op Waar, reageert Excel alsof de werkmap al is opgeslagen en er geen wijzigingen zijn opgetreden sinds de laatste opslag.
De eigenschap DisplayAlerts van het programma kan voor hetzelfde doel worden gebruikt. Met de volgende macro wordt Bijvoorbeeld DisplayAlerts uitgeschakeld, wordt de actieve werkmap gesloten zonder wijzigingen op te slaan en wordt DisplayAlerts vervolgens weer ingeschakeld.Sub CloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
U kunt ook het argument SaveChanges van de methode Sluiten gebruiken.
Met de volgende macro wordt de werkmap gesloten zonder wijzigingen op te slaan:Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Voorbeeld 2: De werkmap sluiten en de wijzigingen opslaan
Als u wilt afdwingen dat een werkmap wijzigingen opslaat, typt u de volgende code in een Visual Basic-module van die werkmap:
Sub Auto_Close()
Als ThisWorkbook.Saved = False, dan
ThisWorkbook.Save End If
End Sub
Met deze subprocedure wordt gecontroleerd of de eigenschap Opgeslagen bestand is ingesteld op Onwaar. Als dat het zo is, is de werkmap gewijzigd sinds de laatste opslag en worden deze wijzigingen opgeslagen.