Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jelenségek
Ha a Microsoft Visual Basic for Applications (VBA) kódot futtatja a Microsoft Excel 2013-ban, az Office-témától függően az Excel egyes részei fehér vagy szürke színűek lehetnek. A kód befejeződéséig üres marad. Ez a probléma akkor fordulhat elő, ha a VBA-kód egy vagy több alábbi műveletet hajt végre egy olyan makróban, amely elég hosszú ideig fut ahhoz, hogy a felhasználó lássa az eredményeket, mielőtt a makró befejeződne:
- Cellák ismételt kijelölése
- Lapok beszúrása
- Munkaablakok frissítése vagy megnyitása
- Munkafüzet hozzáadása
Ok
Ezt a problémát a Microsoft Office 2013-ban az új grafikus motor optimalizálása érdekében végrehajtott módosítások okozzák.
Áthidaló megoldás
A ScreenUpdating használatával letilthatja az Excel képernyőfrissítéseit, hogy ne láthassa a módosításokat, amíg le vannak tiltva. Ez javíthatja a makró teljesítményét is.
Application.ScreenUpdating = False Workooks.Add Application.ScreenUpdating = True
Ha módosítania kell a képernyőt, szúrjon be egy DoEvents-parancsot a kód sora után, amely fehér színt eredményez. A DoEvents takarékos használata segít fenntartani a makró teljesítményét.
Workbooks.Add DoEvents
Állapot
Ez a korlátozás az Excel 2013 ismert korlátozása.
Megjegyzés:
Az Excel minden verziójában hasonló hatás jelentkezhet hosszú ideig futó makrókban, amikor a Windows fehérre változtatja az alkalmazást, és nem válaszol. Ez azért fordul elő, mert az Excel nem válaszol a Windowsra, miközben a makró fut. A DoEvents ebben a forgatókönyvben is segítséget nyújt, ha lehetővé teszi az Excel számára, hogy válaszoljon a Windowsra, és engedélyezze az alkalmazás képernyőjének helyreállítását.