Konsol Sistemleri

Nasıl düzeltilir "Çalışma zamanı hatası 424 ‘Nesne gerekli’" – VBA (Excel)

Excel kullanıyorsanız, “Nesne Gerekli” mesajıyla birlikte “Çalışma Zamanı Hatası 424” hatasıyla karşılaşabilirsiniz.

Bu, VBA (Visual Basic for Applications) ile ilgili bir hatadır ve gerçekte var olmayan veya geçerli kapsamın dışında olan bir nesneye başvururken görüntülenir.

Hatayı bir Excel elektronik tablosunda bir makro / otomatik işlevsellik “geliştiren” olarak görürseniz, büyük olasılıkla sorun bir nesneyi “bağlam dışı” olarak adlandırmaktır. Bu, bir nesneyi yüklemiş olabileceğiniz, ancak içeriği değiştirilmiş veya değiştirilmiş olabileceğiniz anlamına gelir. Bu eğitimde açıklayacağım başka olası sorunlar da var …

Sebep olmak

Gördüğünüz hata aşağıdaki mesajı veriyor:

Çalışma zamanı hatası ‘424’

Nesne gerekli

Microsoft, hatanın neden oluştuğunu ve ne anlama geldiğini açıklamak için 1990’ların sonunda “Visual Basic” paketini piyasaya sürdü.

Bu, sistemle birlikte temel yetenekler sağlayarak hobi geliştiricilerin basit uygulamalar oluşturmasına izin verdi. VB büyük bir hit oldu.

Microsoft’un Office yazılım paketinde, yani Excel ve Word’de “VBA” (Uygulamalar için Visual Basic) kullanılmasının nedeni budur. Bu, geliştirici türlerinin, sayfanın kendisindeki “nesnelere” vb. Atıfta bulunarak Excel elektronik tablolarında otomatik işlevler oluşturmasına izin verdi

Visual Basic’i her kullandığınızda, bellekteki bir dizi “nesneyi” hatırlarsınız. Bu nesneler, özel işlevler vb. Dahil olmak üzere bir dizi ek işlevsellik uygulanmış değişkenlerdir. Sorun – ve bu çoğu programlama dilini kapsar – çağrılmamış bir nesneye başvurursanız uygulamanın başarısız olmasıdır.

Çözüm

Sorunu çözmek için önce verilerin sistemde olduğundan emin olun ve ardından doğru şekilde bakabilirsiniz. Bu eğitici şunların nasıl yapıldığını açıklar:

1. Değişkenleri doğru tanımladığınızdan emin olun

Ana sorun, var olmayan bir değişken (nesne) üzerinde bir yöntem çağırmış olmanızdır. Bunun en yaygın nedeni, değişkenin adını yanlış yazmanız ve bu nedenle onu VBA uygulamanızda belirtmemiş olmanızdır. Aşağıdaki örneği ele alalım:

Alt test ()

Application33.WorksheetFunction.Sum (Aralık (“A1: A100”))

Aboneliği Sonlandır

Yukarıdaki hata, “Application33” tarafından başvurulan bir nesnede WorksheetFunction yöntemini çağırmaya çalıştığınız için hataya yol açar.

Ne yazık ki, Application33 nesnesi bellekte bulunmadığından uygulamanızın onu yüklemesini engeller. Bunu düzeltmek için, kaynak kodunuzu gözden geçirin (hatalı referans neredeyse her zaman referans alınır) ve yanlış yazılmış nesne adlarını düzeltin.

2. Excel kullanıyorsanız, aralıkların / seçicilerin mevcut olduğundan emin olun

Hatanın en yaygın nedenlerinden biri, var olmayan bir nesneye veya değere başvurmaya çalışmanızdır. Bu, VLookup veya ActiveX nesnelerinden birini kullanırken tipik bir sorundur. Bu hatayı yaşıyorsanız, kodun yalnızca mevcut nesnelere başvurduğundan emin olun:

Özel alt test ()

Bu bir hataya yol açar

Application.WorksheetFunction.VLookup (TeamName, Range (“TeamNameLookup”), 3, False) .Value

Değer olmalıdır

Application.WorksheetFunction.VLookup (TakımAdı, E-Tablolar (“SayfanızınAdı”). Aralık (“TakımAdıLookup”), 3, Yanlış)

Aboneliği Sonlandır

Yukarıdakiler, sayfaları bulmadan veya bildirmeden farklı çalışma sayfalarını ve bunların ilgili “Aralık” / “Değer” işlevlerini çağırmaya çalıştığınız anlamına gelir. Bunu düzeltmek için, ilgili aralık nesnelerinde “Aralık” veya “Değer” i çağırdığınızdan emin olun.

3. Doğru tanımlara sahip olduğunuzdan emin olun

Son olarak, hatanın en yaygın nedenlerinden biri, değişkenlerinizi doğru şekilde tanımlamamanızdır.

Değişkenleri yanlış nesne tanımları olarak yanlış tanımlamadan “Açık Seçenek” çağırmaya kadar, sadece doğru tanımlanmadıkları için tanımlanmamış değişkenlere / nesnelere başvurmaya çalışıyor olabilirsiniz.

Örneğin…

Seçenek açık

Özel alt test ()

Burada, değişkenleri referans göstermeden / girmeden önce açık bir şekilde tanımlamanız gerekir.

Örneğin…

Yolunuzu Dize Olarak Karartın

Your_path = “x / y / z” olarak ayarlayın

Aboneliği Sonlandır

Yukarıdaki örnekte, “your_path” değişkeni onu ayarlamaya çalışmadan önce bildirilmemişse, 424 hatasını alırsınız (“your_path” nesnesi olmadığı için). Buradan, ilgili nesneleri arayabileceğinizden de emin olmalısınız (bir çalışma sayfası değerine başvuruyorsanız, çalışma sayfasının var olduğundan ve yüklenebildiğinden emin olun).

Açıkçası, bu hatanın birkaç başka örneği de var. Herkesin kodunun kendine özgü doğası farklı olduğundan, her olasılığın üzerinden geçemiyorum. Umarım, hatanın sisteminizdeki geçersiz bir değişken referansından kaynaklandığını görebilirsiniz.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu