Excel VBA'da Nesne Gerekli Hatası - Sorun Giderme

Nesne Gerekli Hataya Genel Bakış

Bu eğitim, VBA'da Nesne Gerekli Hataları gidermenize yardımcı olacaktır.

<

<

Nesnelere Genel Bakış

VBA'da Nesne, çalışma sayfası, çalışma kitabı, aralık, şekil, satır, sütun, kullanıcı formu, kontrol vb.

Nesnelerin özellikleri (ör: ad, renk, gizli) ve yöntemleri (ör: aç, temizle, kaydet, gizle) vardır. Bir özelliği veya yöntemi uygulamaya çalışırsanız, VBA'nın özellikleri veya yöntemleri uygulayacağı geçerli bir nesneye ihtiyacı vardır.

Geçerli bir Nesne sağlamazsanız, Nesne Gerekli Hatası.

Bu kılavuz, Nesne Gerekli Hataları gidermenize yardımcı olacaktır.

#1. Seçenek Açık / Yanlış Yazılan Değişken Adları

İlk olarak, nesne adını yanlış yazıp yazmadığınızı kontrol edin. Yanlış yazılmış bir ad, Nesne Gerekli Hatasına neden olabilir.

Bu, mevcut nesne adlarında olabilir:

<>

Veya değişken adlarıyla:

<>

Yanlış yazılan değişken adlarını önlemenin iyi bir yolu, kod modülünüzün en üstünde Option Explicit bildirdiğinizden emin olmaktır.

1 Seçenek Açık

Açık Seçenek, sizi değişkenlerinizi bildirmeye zorlar. Şimdi <> kodunuzda hata ayıkladığınızda, değişkeninizi tanımlamanız gerektiğini belirten bir mesaj alacaksınız:

<>

Bu, bu değişkenin yanlış yazıldığı konusunda size ipucu vermesine yardımcı olacaktır.

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

#2 Değişken Atamalar

Ardından, değişkenlerinizi doğru şekilde atadığınızdan emin olun.

Nesne Değişkenleri, Set Object = kullanılarak atanmalıdır: <>

<>

Nesne değişken atamaları için Set'i kullanmazsanız, Object Required hatasını alırsınız.

<>

Benzer şekilde, Nesne Olmayan Değişkenler Set olmadan atanmalıdır:

<>

Set'i nesne olmayan bir değişkende kullanmayı denerseniz, Object Required hatasını alırsınız.

<>

#3 Çalışma Sayfası Düzeyinde Modüller

Kodunuz çalışma sayfası düzeyinde bir modülde mi? Öyleyse, diğer çalışma sayfalarında adlandırılmış aralıklara atıfta bulunurken çok dikkatli olmanız gerekir.

Örneğin, çalışma kitabı düzeyinde "Tarih" adlı bir aralığınız olabilir, normal bir kod modülünde adlandırılmış aralığa şu şekilde başvurabilirsiniz:

1 MsgBox Aralığı ("Tarih").değer

Ancak, çalışma sayfası düzeyindeki bir modülden adlandırılmış aralığa başvurursanız, adlandırılmış aralığın bulunduğu çalışma sayfasını açıkça tanımlamanız gerekir:

1 MsgBox Sheets("Sayfa2").Range("Tarih").değer

Aksi takdirde bir hatayla karşılaşırsınız:

<>

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave