VBA Bellek Yetersiz Hatası

Bu öğretici, VBA Bellek Yetersiz Hatasını açıklayacaktır.

VBA Bellek Yetersiz hatası, Excel bir makro çalıştırırken makinenizin tüm kaynaklarını kullandığında ve kodu hesaplamaya veya çalıştırmaya devam etmek için kelimenin tam anlamıyla belleği tükendiğinde oluşur. Bu, çalışan çok sayıda uygulamanız olduğunda ve Excel'de büyük bir makro çalıştırmayı denediğinizde veya belki de Excel'de yanlışlıkla sürekli bir döngü oluşturduğunuzda ortaya çıkabilir.

(VBA Hataları hakkında daha fazla bilgi için Hata İşleme Kılavuzumuza bakın)

Yetersiz Bellek Hatasının Nedenleri

Çok sayıda çalışma sayfası ve binlerce satır içeren bir çalışma kitabıyla çalışılıyorsa, yetersiz bellek hatası oluşabilir. Büyük miktarda veriyle çalışan bir döngü oluşturursak, yetersiz bellek hatası oluşabilir. Aynı zamanda, birden çok nesneyle çalışıyorsak ve her nesneyi bir SET deyimiyle ayarlıyorsak, ancak daha sonra prosedürler veya döngüler arasındaki nesnelere yapılan referansları temizlemezsek de ortaya çıkabilir.

Örneğin, birden çok sayfayla açık birden çok dosyanız varsa, aşağıdaki döngü kesinlikle bir bellek hatasına neden olabilir.

1234567891011121314 Alt TestBellek()Çalışma Kitabı Olarak Dim wbDim ws As Çalışma SayfasıDim Ben TekApplication.Workbooks'ta Her wb içinHer ws için wb.SheetsActiveCell = "A1048576"ya Kadar YapınAktifHücre = 1 + benben = ben + 1ActiveCell.Offset(1, 0).SeçDöngüSonrakiSonraki wbAlt Bitiş

Yetersiz Bellek Hatasını Önleme

Yayın Nesneleri

Döngüler ve Nesneler ile çalışıyorsak, Nesneyi kullanıldıktan ve artık gerekmediğinde HİÇBİR ŞEY olarak ayarladığımızdan emin olmalıyız - bu, belleği serbest bırakacaktır.

VBA Programlama | Code Generator sizin için çalışıyor!

Yalnızca bir Excel Örneğinin Çalıştığından Emin Olun

Büyük dosyalarla ve çok miktarda veriyle çalışıyorsak, birden fazla açık Excel oturumunuz olmadığını kontrol edin - yalnızca bir kez açık olması gerekir. Bunu kontrol etmenin bir yolu, Görev Yöneticisine gidip kaç tane Excel örneğinin çalıştığını görmektir.

basmak Ctrl+Alt+Delete Klavyede,

Tıklamak Görev Yöneticisi ve çalışan tek bir Excel örneği olduğundan emin olun. Aşağıdaki grafikte 2 pencereli bir örnek bulunmaktadır.

Ayrıca, Görev Yöneticisi'nde arka planda çalışan (yani görünür olmayan) bir Excel örneği olmadığını da kontrol edebiliriz.

görene kadar Görev Yöneticisinde aşağı kaydırın. Arka Plan Süreçleri ve Excel'in bu program listesinde olmadığından emin olun.

Excel dosyanızın Boyutunu kontrol edin

Genellikle, çalışma sayfalarınızda gerçekte kullanılanların altında erişilen satırlar ve sütunlar vardır. Excel, bu hücrelerde belleği kullanır - bu hücreler boş olsa bile. düğmesine basarak dosyanın boyutunu kontrol edin. CTRL+SHIFT+END hücre işaretçinizin nereye düştüğünü görmek için klavyede Kullanmakta olduğunuz son hücrenin çok altına düşerse, hücre işaretçisinin üzerindeki tüm boş satırları ve sütunları sildiğinizden ve ardından dosyayı yeniden kaydettiğinizden emin olun; bu, Excel dosyanızın boyutunu azaltır.

Belleği Kontrol Etmenin Diğer Yolları

Excel'de belleği boşaltmanın başka yolları da vardır. Excel'i kullanmıyorsanız kapatmak ve daha sonra açmak iyi bir fikirdir - bu, bir çalışma kitabı açık olmadığında bile bellek depolama eğiliminde olduğundan, Excel'in depoladığı tüm belleği boşaltacaktır! Bilgisayarınızdaki Güncellemeleri kontrol ederek her zaman Office sürümünüzün güncel olduğundan emin olun ve kullanılmış olabilecek, ancak kullanmadığınız VBA eklentilerini kontrol edin; daha fazla bellek boşaltmak için bunları kaldırabilirsiniz.

wave wave wave wave wave