Excel 2013'te VBA kodu çalıştırdığınızda Excel'in bölümleri beyaz veya griye dönüşür

Belirtiler

Microsoft Visual Basic for Applications (VBA) kodunu Microsoft Excel 2013 çalıştırdığınızda, Office Temanıza bağlı olarak Excel'in bazı bölümleri beyaz veya gri görünebilir. Kod tamamlanana kadar boş kalır. VBA kodu, makro tamamlanmadan önce kullanıcının sonuçları görmesi için yeterince uzun süre çalışan bir makroda aşağıdaki eylemlerden birini veya birkaçını gerçekleştirirse bu sorun oluşabilir:

  • Hücreleri tekrar tekrar seçme
  • Sayfa ekleme
  • Görev bölmelerini güncelleştirme veya açma
  • Çalışma kitabı ekleme

Neden

Bu sorun, yeni grafik altyapısını iyileştirmek için Microsoft Office 2013'te yapılan değişikliklerden kaynaklanır.

Geçici Çözüm

  1. Excel'in ekran güncelleştirmelerini devre dışı bırakmak için ScreenUpdating'i kullanın, böylece değişiklikler devre dışı bırakılırken görmezsiniz. Bu, makro performansınızı da artırabilir.

    Application.ScreenUpdating = False
    Workooks.Add
    Application.ScreenUpdating = True
    
  2. Ekran değişikliklerini görmeniz gerekiyorsa, koddaki satırın arkasına ekranın beyaz görünmesine neden olan bir DoEvents komutu ekleyin. DoEvents'in düzenli bir şekilde kullanılması makro performansının korunmasına yardımcı olur.

    Workbooks.Add
    DoEvents
    

Durum

Bu, Excel 2013'teki bilinen bir sınırlamadır.

Not

Excel'in tüm sürümlerinde, Windows uygulamayı beyaza çevirdiğinde ve yanıt vermediğini işaretlediğinde uzun süre çalışan makrolarda benzer bir etki oluşabilir. Bunun nedeni, makro çalışırken Excel'in Windows'a yanıt vermemesidir. DoEvents, Excel'in Windows'a yanıt vermesine ve uygulama ekranının kurtarılmasına izin vererek de bu senaryoda yardımcı olur.