Excelin osat muuttuvat valkoisiksi tai harmaiksi, kun suoritat VBA-koodia Excel 2013:ssa
Oireet
Kun suoritat Microsoft Visual Basic for Applications (VBA) -koodin Microsoft Excel 2013, jotkin Excelin osat saattavat näyttää valkoisilta tai harmailta Office-teeman mukaan. Se pysyy tyhjänä, kunnes koodi on valmis. Tämä ongelma voi ilmetä, jos VBA-koodi suorittaa makrossa yhden tai useamman seuraavan toiminnon, joka suoritetaan niin kauan, että käyttäjä näkee tulokset ennen makron valmistumista:
- Valitse solut toistuvasti
- Lisää taulukoita
- Päivitä tai avaa tehtäväruutuja
- Lisää työkirja
Syy
Tämä ongelma johtuu Muutoksista, jotka on tehty Microsoft Office 2013:ssa uuden grafiikkamoduulin optimoimiseksi.
Vaihtoehtoinen menetelmä
ScreenUpdating-toiminnolla voit poistaa Excelin näyttöpäivitykset käytöstä, jotta et näe muutoksia, kun ne on poistettu käytöstä. Tämä saattaa myös parantaa makrojen suorituskykyä.
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
Jos haluat nähdä näytön muutokset, lisää DoEvents-komento sen rivin jälkeen koodissa, joka saa näytön näyttämään valkoiselta. DoEventsin säästeliäästi käyttäminen auttaa ylläpitämään makrojen suorituskykyä.
Workbooks.Add DoEvents
Tila
Tämä on Excel 2013:n tunnettu rajoitus.
Huomautus
Kaikilla Excel-versioilla voi ilmetä samanlainen vaikutus pitkäkestoisissa makroissa, kun Windows muuttaa sovelluksen valkoiseksi ja merkitsee, ettei se vastaa. Tämä johtuu siitä, että Excel ei vastaa Windowsiin makron ollessa käynnissä. DoEvents auttaa myös tässä skenaariossa sallimalla Excelin vastata Windowsille ja sallia sovellusnäytön palauttamisen.
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle