VBA'da Excel Eklenti İşlevlerinizi Nasıl Kullanabilirsiniz?

İçindekiler:

Anonim

Excel özel işlevlerinizi içerecek bir Eklenti oluşturduysanız, işlevlerin bir Excel çalışma sayfasında düzgün çalışmasına rağmen, bunları diğer çalışma kitaplarındaki VBA yordamlarınızda kullanamayacağınızı fark etmiş olabilirsiniz. Sanki Visual Basic Düzenleyicisi görmek onlara. Eh, çünkü olamaz! Bu makalede, bunu nasıl düzeltebileceğiniz açıklanmaktadır.

Her şeyden önce, gerçekten yapmak istediğiniz şeyin bu olup olmadığını düşünün. Eklentiler, öncelikle çalışma kitaplarınıza ekstra işlevsellik eklemek için tasarlanmıştır. Bir Excel Eklentisi yüklediğinizde, işlevselliği tüm çalışma kitaplarınız için hemen kullanılabilir hale gelir. Başka bir çalışma kitabında yer alan özel bir işleve bağlı olan bir VBA prosedürü oluşturursanız, işlevini kullanmak istediğinizde bu diğer çalışma kitabının açık olması gerekir. Aynı şey bir Eklentideki özel işlev için de geçerlidir. Eklenti yüklendiyse sorun değil, ancak çalışma kitabınızı başka birine postaladığınızı veya çalışma grubunuza dağıttığınızı varsayalım. Eklentiyi de dağıtmayı unutmamalısınız. İşlemlerinizin ona doğrudan erişimi olması için işlevin bir kopyasını çalışma kitabı koduna eklemek daha kolay olabilir (bunu bir Özel İşlev veya adlandırma çakışmalarını önlemek için adını değiştirin).

yapma demiyorum. İlk önce bunu düşünmeniz yeterlidir ve Eklentinin kullanılabilir olacağından eminseniz devam edin. İşte nasıl…

Sorun Ne Zaman Ortaya Çıkıyor?

Çalışma kitaplarımdan biri için bir prosedür yazıyorum. Benim prosedürümde kullanmak istiyorum KaldırAlanlar bir süre önce oluşturduğum ve arşivime kaydettiğim işlev Martin'in İşlevleri Şu anda Excel kopyamda yüklü olan Eklenti. Ancak prosedürümü çalıştırmayı denediğimde bir hata alıyorum.

Visual Basic Düzenleyici, işlev yokmuş gibi davranıyor, ancak var olduğunu biliyorum ve Eklentimin içindeki koda bakarsam görebiliyorum. Aslında, Eklentimin içinden çalıştırırsam kod iyi çalışır.

Bunu yapabilmek için Visual Basic Düzenleyicisine ihtiyacım var. görmek Eklentimdeki işlevler, bir kod modülünün içinden farklı çalışma kitabı.

Eklentinize Bir VBA Proje Adı Verin

Her çalışma kitabının bir VBA Proje Adı. denir VBAProjesi. İstersen bu ismi değiştirebilirsin ama normalde umursamıyorum çünkü normalde önemli değil.

Tüm çalışma kitaplarının neden tüm çalışma kitaplarında görüntülendiğini hiç merak ettiniz mi? Proje Gezgini görsel temel düzenleyicinin bölmesine "VBAProjesi"? Microsoft'un Eklentilerinden herhangi biri yüklüyse, bunların farklı bir ada sahip olduğunu göreceksiniz. Microsoft geliştiricileri, Analiz Araç Paketi VBA Proje Adında Eklenti "funcres".

Yapılacak ilk şey, Eklentinize benzersiz bir VBA Proje Adı vermektir. Bunun nedeni, bir sonraki adımda ona bu adla atıfta bulunacaksınız ve aynı ada sahip birden fazla varsa, Visual Basic Düzenleyicisi hangisini kullanacağını bilemez.

İçinde Proje Gezgini bölmesinde Eklentinizin adını seçin. Zaten açık değilse, Visual Basic Düzenleyicisi'nin Özellikler Penceresi. Tek bir özellik olduğunu göreceksiniz, İsim. Başka bir ad yazın ve Girmek. VBA için olağan adlandırma kurallarına uymanız gerekecek (yani, geçersiz karakterler ve boşluklar yok). Adın hemen uygulandığını göreceksiniz. Proje Gezgini.

Şimdi değişiklikleri Eklentinize kaydedin. Eklentinizin seçili olduğundan emin olun. Proje Gezgini ve Seç Dosya > Kaydet.

Eklentiye Referans Ayarlayın

Bu adımda, Eklentinizin işlevlerini kullanmak istediğiniz çalışma kitabına Eklentinin var olduğunu söylersiniz. şununla yaparsın Referans Ayarlama Eklentiye gidin. Gibi başka bir programla iletişim kurmak için Excel kodu yazmak istediyseniz, bu teknikle daha önce karşılaşmış olabilirsiniz. Görünüm veya Erişim.

Uygunsa, bu noktada Excel'i yeniden başlatın. Bunun nedeni, yeniden adlandırılan Eklentinizin yeniden yüklenmesi ve görmek üzere olduğunuz listenin yenilenmesidir. Uygun değilse zahmet etmeyin… sonraki paragrafı okuyun ve ne yapmak istediğinize karar verin.

Eklentinin işlevlerini kullanmak istediğiniz çalışma kitabında bir kod modülü açın ve ardından Araçlar > Referanslar açmak için Referanslar Referans ayarlayabileceğiniz tüm kitaplıkların ve diğer nesnelerin (Eklentiler gibi) bir listesini göreceğiniz iletişim kutusu. Excel'i yeniden başlattıysanız bu liste yenilenmiş olacak ve son adımda Eklentinize verdiğiniz Proje Adını bulabileceksiniz. Adın yanındaki kutuyu işaretleyin ve Tamam buton.

Excel'i yeniden başlatmadıysanız, Eklenti dosyanızı Araştır üzerindeki düğme Referanslar diyalog. Bu açılır Referans ekle pencere. Değiştir Dosya türü: bölüm Microsoft Excel Dosyaları(*.xls;*.xla) ardından Eklentinin depolandığı klasöre göz atın.

Eklentinizi seçin ve tıklayın Açık. Bu, Eklentinizi seçebileceğiniz listeye ekler ve Tamam.

NOT: Bu işlemlerin her ikisini de yapmanız gerekmez! Eklentinizin VBA Projesi adını değiştirdikten sonra Excel'i yeniden başlatıp başlatmadığınıza bağlı olarak birini veya diğerini seçin.

Artık, referansı belirlediğiniz çalışma kitabındaki herhangi bir modülde Eklentinin işlevlerini kullanabileceksiniz ve bunlar Visual Basic Düzenleyicisi tarafından tanınacaktır…

eğer bakarsanız Proje Gezgini çalışma kitabına bir referans uygulandığını göreceksiniz…

Referans eklemenin yalnızca bu yordamı gerçekleştirdiğiniz çalışma kitabı için geçerli olduğunu unutmamak önemlidir. Eklentinizin işlevlerini kullanmak istediğiniz her farklı çalışma kitabı için bunu yapmanız gerekecektir.

Dosyalarınızı Dağıtma Hakkında

Bir Eklentiye referans eklediğinizde, Eklentiye olan bu bağlantı dosyaya "bağlanır". Dosyayı başka bir bilgisayara taşırsanız veya iş arkadaşlarınıza dağıtırsanız, çalışma kitabı onların bilgisayarlarında aynı Eklentiyi aynı yerde bulmayı bekleyecektir. Ayrıca, Eklenti bilgisayardan taşınır veya silinirse, çalışma kitabı onu bulamaz ve kodunuz çalışmaz.

Bazı insanlar, bunun neden olabileceği sorunları önlemek için dosyanın ve ilişkili Eklentinin her zaman aynı klasörde bulunması gerektiğini savunur. Elbette sorunu çözmek için referansı yeniden ayarlayabilirsiniz.

Bu faktörleri göz önünde bulundurun ve sorun yaşamayacaksınız.