Lezen in het Engels

Delen via


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, worden delen van Excel mogelijk wit of grijs 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:

  • Cellen herhaaldelijk 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

  1. Gebruik ScreenUpdating om de schermupdates van Excel uit te schakelen, zodat u de wijzigingen niet ziet terwijl deze zijn uitgeschakeld. Dit kan ook de prestaties van uw macro verbeteren.

    VB
    Application.ScreenUpdating = False
    Workooks.Add
    Application.ScreenUpdating = True
    
  2. Als u de schermwijzigingen wilt zien, voegt u een DoEvents-opdracht in na de regel in de code die ervoor zorgt dat het scherm wit wordt weergegeven. Het gebruik van DoEvents helpt spaarzaam bij het handhaven van macroprestaties.

    VB
    Workbooks.Add
    DoEvents
    

Status

Deze beperking is een bekende beperking in Excel 2013.

Notitie

Voor alle versies van Excel kan een vergelijkbaar effect optreden in langlopende macro's wanneer Windows de toepassing wit maakt en markeert dat deze niet reageert. Dit komt doordat Excel niet reageert op Windows terwijl de macro wordt uitgevoerd. DoEvents helpt ook in dit scenario doordat Excel kan reageren op Windows en het toepassingsscherm kan herstellen.