שתף באמצעות


חלקים ב- Excel פועלים באופן לבן או אפור בעת הפעלת קוד VBA ב- Excel 2013

תסמינים

בעת הפעלת קוד Microsoft Visual Basic for Applications (VBA) ב- Microsoft Excel 2013, חלקים מ- Excel עשויים להיראות לבנים או אפורים, בהתאם לערכת הנושא של Office. הוא נשאר ריק עד להשלמת הקוד. בעיה זו עלולה להתרחש אם קוד ה- VBA מבצע אחת או יותר מהפעולות הבאות במאקרו שפועלת מספיק זמן עד שהמשתמש רואה את התוצאות לפני השלמת המאקרו:

  • בחירת תאים שוב ושוב
  • הוספת גליונות
  • עדכון או פתיחה של חלוניות משימות
  • הוספת חוברת עבודה

סיבה

בעיה זו נגרמת על-ידי השינויים שבוצעו ב- Microsoft Office 2013 כדי למטב את מנוע הגרפיקה החדש.

פתרון

  1. השתמש ב- ScreenUpdatingכדי להפוך את עדכוני המסך של Excel ללא זמינים כדי שלא תראה את השינויים כאשר הם אינם זמינים. פעולה זו עשויה גם לשפר את ביצועי המאקרו.

    Application.ScreenUpdating = False
    Workooks.Add
    Application.ScreenUpdating = True
    
  2. אם עליך לראות את שינויי המסך, הוסף פקודת DoEvents לאחר השורה בקוד שגורמת למסך להיראות לבן. השימוש ב- DoEvents מסייע בשמירה על ביצועי מאקרו.

    Workbooks.Add
    DoEvents
    

סטאטוס

מגבלה זו היא מגבלה ידועה ב- Excel 2013.

הערה

עבור כל הגירסאות של Excel, אפקט דומה עשוי להתרחש בפקודות מאקרו ארוכות שפועלות כאשר Windows הופך את היישום לבן ומסמן אותו אינו מגיב. בעיה זו מתרחשת מכיוון ש- Excel אינו מגיב ל- Windows בזמן שהמאקרו פועל. DoEvents תסייע גם בתרחיש זה בכך שתאפשר ל- Excel להגיב ל- Windows ולאפשר לשחזור מסך האפליקציה.