Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Symptomy
Po uruchomieniu kodu programu Microsoft Visual Basic for Applications (VBA) w programie Microsoft Excel 2013 fragmenty programu Excel mogą być wyświetlane w kolorze białym lub szarym, w zależności od motywu pakietu Office. Pozostaje ona pusta, dopóki kod nie zostanie ukończony. Ten problem może wystąpić, jeśli kod VBA wykonuje co najmniej jedną z następujących akcji w makrze, które działa wystarczająco długo, aby użytkownik mógł zobaczyć wyniki przed ukończeniem makra:
- Wielokrotne zaznaczanie komórek
- Wstawianie arkuszy
- Aktualizowanie lub otwieranie okienek zadań
- Dodawanie skoroszytu
Przyczyna
Ten problem jest spowodowany zmianami wprowadzonych w pakiecie Microsoft Office 2013 w celu zoptymalizowania nowego aparatu graficznego.
Rozwiązanie
Użyj opcji ScreenUpdating, aby wyłączyć aktualizacje ekranu programu Excel, aby nie były widoczne zmiany, gdy są wyłączone. Może to również poprawić wydajność makr.
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
Jeśli chcesz zobaczyć zmiany ekranu, wstaw polecenie DoEvents po wierszu w kodzie, który powoduje, że ekran będzie wyświetlany biały. Korzystanie z rozwiązania DoEvents oszczędnie pomaga zachować wydajność makr.
Workbooks.Add DoEvents
Stan
To ograniczenie jest znanym ograniczeniem w programie Excel 2013.
Uwaga 16.
W przypadku wszystkich wersji programu Excel podobny efekt może wystąpić w długotrwałych makrach, gdy system Windows zmieni kolor aplikacji na biały i oznacza, że nie odpowiada. Dzieje się tak, ponieważ program Excel nie odpowiada na system Windows, gdy makro jest uruchomione. Rozwiązanie DoEvents pomoże również w tym scenariuszu, umożliwiając programowi Excel reagowanie na system Windows i umożliwianie odzyskania ekranu aplikacji.