Delar av Excel blir vita eller grå när du kör VBA-kod i Excel 2013
Symptom
När du kör VBA-kod (Microsoft Visual Basic for Applications) i Microsoft Excel 2013 kan delar av Excel se vita eller grå ut, beroende på ditt Office-tema. Den förblir tom tills koden har slutförts. Det här problemet kan inträffa om VBA-koden utför en eller flera av följande åtgärder i ett makro som körs tillräckligt länge för att användaren ska kunna se resultatet innan makrot slutförs:
- Markera celler upprepade gånger
- Infoga blad
- Uppdatera eller öppna åtgärdsfönster
- Lägga till en arbetsbok
Orsak
Det här problemet orsakas av de ändringar som görs i Microsoft Office 2013 för att optimera den nya grafikmotorn.
Lösning
Använd ScreenUpdating för att inaktivera skärmuppdateringarna i Excel så att du inte ser ändringarna när de är inaktiverade. Detta kan också förbättra makroprestandan.
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
Om du behöver se skärmändringarna infogar du ett DoEvents-kommando efter raden i koden som gör att skärmen ser vit ut. Om du använder DoEvents på ett sparsamt sätt kan du bibehålla makroprestanda.
Workbooks.Add DoEvents
Status
Detta är en känd begränsning i Excel 2013.
Obs!
För alla versioner av Excel kan en liknande effekt uppstå i tidskrävande makron när Windows gör programmet vitt och markerar att det inte svarar. Detta beror på att Excel inte svarar på Windows medan makrot körs. DoEvents hjälper också till i det här scenariot genom att låta Excel svara på Windows och låta programskärmen återställas.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för