Les på engelsk

Del via


Deler av Excel blir hvite eller grå når du kjører VBA-kode i Excel 2013

Symptomer

Når du kjører Microsoft Visual Basic for Applications (VBA)-kode i Microsoft Excel 2013, kan deler av Excel vises som hvite eller grå, avhengig av Office-temaet. Den forblir tom til koden er fullført. Dette problemet kan oppstå hvis VBA-koden utfører én eller flere av følgende handlinger i en makro som kjører lenge nok til at brukeren kan se resultatene før makroen fullføres:

  • Merke celler gjentatte ganger
  • Sett inn ark
  • Oppdatere eller åpne oppgaveruter
  • Legge til en arbeidsbok

Årsak

Dette problemet skyldes endringene som er gjort i Microsoft Office 2013 for å optimalisere den nye grafikkmotoren.

Løsning

  1. Bruk ScreenUpdating til å deaktivere skjermoppdateringene i Excel, slik at du ikke ser endringene mens de er deaktivert. Dette kan også forbedre makroytelsen.

    VB
    Application.ScreenUpdating = False
    Workooks.Add
    Application.ScreenUpdating = True
    
  2. Hvis du trenger å se skjermendringene, setter du inn en DoEvents-kommando etter linjen i koden som gjør at skjermen ser hvit ut. Bruk av DoEvents bidrar til å opprettholde makroytelsen.

    VB
    Workbooks.Add
    DoEvents
    

Status

Denne begrensningen er en kjent begrensning i Excel 2013.

Obs!

For alle versjoner av Excel kan en lignende effekt forekomme i makroer som kjører lenge når Windows slår programmet hvitt og merker at det ikke svarer. Dette skjer fordi Excel ikke svarer på Windows mens makroen kjører. DoEvents hjelper også i dette scenarioet ved å la Excel svare på Windows og la programskjermen gjenopprette.