Visual Basic for Applications'ta 'Abonelik Aralık Dışında' Hatası Nasıl Onarılır?



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Visual Basic for Applications (VBA), Microsoft tarafından geliştirilen Visual Basic programlama dilinin bir uygulamasıdır. VBA, UDF'leri etkinleştirmek, görevleri otomatikleştirmek ve DLL'ler aracılığıyla WinAPI'ye erişmek için kullanılabilir. Ancak, son zamanlarda, kullanıcıların belirli komutları ve bir ' Alt Simge Aralık Dışında, Hata 9 ”Bunu yapmaya çalışırken açılır.



Alt simge aralık dışı hatası



VBA'da 'Alt Simge Aralık Dışında' Hatasına Neden Olan Nedir?

Birden çok kullanıcıdan çok sayıda rapor aldıktan sonra, sorunu araştırmaya karar verdik ve tamamen düzeltmek için bir dizi çözüm geliştirdik. Ayrıca tetiklenme nedenlerini araştırdık ve aşağıdaki gibi sıraladık.



  • Mevcut Olmayan Öğe: Bazı durumlarda, komutta var olmayan bir öğeye başvurmuş olabilirsiniz. Alt simgenin, olası alt simge aralığından daha büyük veya daha küçük olması mümkündür veya boyutlar, uygulamanın bu noktasında diziye atanmamış olabilir.
  • Tanımsız Öğeler: Kodunuzdaki öğe sayısını tanımlamamış olabilirsiniz, bir dizideki öğe sayısının 'Dim' veya 'ReDim' komutları kullanılarak tanımlanması önemlidir.
  • Yanlış Koleksiyon Üyesi: Bazı durumlarda, kullanıcı var olmayan bir koleksiyon üyesine başvurmuş olabilir. Koleksiyon üyesine yanlış bir referans yapılırsa, bu hata tetiklenebilir.
  • Shorthand Script: Kısaltılmış bir alt simge biçimini kullanmış olmanız ve dolaylı olarak geçersiz bir öğeyi belirtmiş olmanız mümkündür. Geçerli bir anahtar adı kullanmak önemlidir.

Artık sorunun doğası hakkında temel bir anlayışa sahip olduğunuza göre, çözümlere doğru ilerleyeceğiz. Çatışmayı önlemek için bunları verildikleri sırayla uyguladığınızdan emin olun.

1.Çözüm: Dizileri Kontrol Etme

Array öğesi için yanlış bir değer tanımlamış olabilirsiniz. Bu nedenle, Array öğesi için tanımladığınız değeri iki kez kontrol etmeniz ve doğru değer olduğundan emin olmanız önerilir. Ayrıca, dizinin bildirimini kontrol ettiğinizden ve Doğrulayın üst ve alt sınırlar. Diziler yeniden boyutlandırılmışsa, LBound ve UBound erişim koşullarını sağlayan işlevler. Dizin bir değişkense Değişken adının yazımını kontrol edin.

VBA Excel'de dizi



2.Çözüm: Eleman Sayısını Belirleme

Bazı durumlarda, hatanın tetiklenmesi nedeniyle kodunuzdaki öğelerin sayısını tanımlamamış olabilirsiniz. Dizideki öğe sayısını şunu kullanarak belirtmeniz önerilir. Yok veya ReDim fonksiyonlar.

Öğe sayısını belirtmek için Dim ve ReDim'i kullanma

3. Çözüm: Yapıyı Değiştirme

Bu hata genellikle, kullanıcı yanlış veya var olmayan bir koleksiyon üyesi belirttiğinde tetiklenir. Bu nedenle, dizin öğelerini belirtmek yerine, ' Her biri için ... Sonraki 'İnşa edin.

'For Each… Next' yapısını kullanma

4.Çözüm: Anahtar Adını ve Dizini Kontrol Etme

Bazı durumlarda, alt simgenin kısaltılmış halini kullanmış olabilirsiniz ve bu geçersiz bir öğeyi belirtiyor olabilir. Bu nedenle, kullanmanız tavsiye edilir. geçerli anahtar isim ve indeks koleksiyon için.

Geçerli Bir Anahtar Adı Kullanma

2 dakika okundu