Delen van Excel worden wit of grijs wanneer u VBA-code uitvoert in Excel 2013
Symptomen
Wanneer u VBA-code (Microsoft Visual Basic for Applications) uitvoert in Microsoft Excel 2013, kunnen delen van Excel wit of grijs worden weergegeven, afhankelijk van uw Office-thema. Deze blijft leeg totdat de code is voltooid. Dit probleem kan optreden als de VBA-code een of meer van de volgende acties uitvoert in een macro die lang genoeg wordt uitgevoerd zodat de gebruiker de resultaten kan zien voordat de macro is voltooid:
- Herhaaldelijk cellen selecteren
- Bladen invoegen
- Taakvensters bijwerken of openen
- Een werkmap toevoegen
Oorzaak
Dit probleem wordt veroorzaakt door de wijzigingen die zijn aangebracht in Microsoft Office 2013 om de nieuwe grafische engine te optimaliseren.
Tijdelijke oplossing
Gebruik ScreenUpdating om de schermupdates van Excel uit te schakelen, zodat u de wijzigingen niet ziet terwijl ze zijn uitgeschakeld. Dit kan ook uw macroprestaties verbeteren.
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
Als u de schermwijzigingen wilt zien, voegt u de opdracht DoEvents in de code in die ervoor zorgt dat het scherm wit wordt weergegeven. Als u spaarzaam DoEvents gebruikt, kunt u de macroprestaties behouden.
Workbooks.Add DoEvents
Status
Dit is een bekende beperking in Excel 2013.
Opmerking
Voor alle versies van Excel kan een soortgelijk effect optreden in langlopende macro's wanneer Windows de toepassing wit zet en markeert dat deze niet reageert. Dit komt doordat Excel niet reageert op Windows terwijl de macro wordt uitgevoerd. DoEvents helpt ook bij dit scenario door Excel toe te staan te reageren op Windows en het toepassingsscherm te laten herstellen.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor