(Özel) Kullanıcı Tanımlı İşlevler (UDF'ler) Oluşturma

Bu öğretici, VBA'da Kullanıcı Tanımlı İşlevlerin nasıl oluşturulacağını açıklayacaktır.

VBA, Alt Prosedürler ve Fonksiyon Prosedürlerinden oluşur. İşlev prosedürleri bir değer döndürür ve Alt Prosedürler tarafından çağrılabilir veya işlevin ürettiği değerin Excel sayfasına döndürüldüğü Excel sayfasında kullanılabilir. Excel'in elbette bir dizi yerleşik işlevi vardır - Sum İşlevi veya If İşlevi gibi. VBA'da yazdığınız işlev prosedürleri, yerleşik işleve benzer şekilde kullanılır ve Kullanıcı Tanımlı İşlevler (UDF'ler) olarak bilinir.

Neden bir UDF oluşturmalısınız?

Gerekli İşlev Eksik

Excel'de bir UDF oluşturmak istemenin ana nedenlerinden biri, görevi sizin için yapacak yerleşik bir işlevin olmamasıdır. Kendi işlevinizi VBA'da yazmak genellikle sorunu çözmenin en etkili yoludur. Aşağıdaki fonksiyon, hesaplamayı yapmak için kilogram değerini elde etmek için değişken bir parametrenin (dblKilo) kullanıldığı bir değeri kilogramdan pound'a çevirecektir.

Bir Alt Rutini Değiştirin (Makro)

Görevi sizin için çözmek için bir alt prosedür (makro) yazabilirsiniz - ancak alt prosedürler bir değer döndürmez ve dinamik değildirler - başka bir deyişle, çalışma sayfanızdaki değerler değişirse, yeniden çalıştırmanız gerekir. Makrodaki hesaplamaların verilerinizi güncellemesi için makro. Aşağıdaki alt prosedür de kilolarımızı pound'a çevirir, ancak A1'deki veriler her değiştiğinde, sonucu güncellemek için makroyu yeniden çalıştırmanız gerekir.

Formülü Değiştir

Excel'de, tekrar tekrar kullanmanız gereken gerçekten karmaşık bir formülünüz olabilir - formülü VBA koduna koymak, okumayı ve anlamayı kolaylaştırır - ve belki de formülü yazarken kullanıcı hatasına yer bırakmaz.

UDF'ler oluşturma

UDF oluşturmak için öncelikle Excel çalışma kitabınıza bir modül ekleyin veya Kişisel Makro çalışma kitabınız varsa, orada bulunan bir modülü kullanabilir veya yeni bir modül ekleyebilirsiniz. Bunu yapmak için Visual Basic Düzenleyicisi'nde (VBE) olmanız gerekir. VBE'ye ulaşmak için, ALT + F11 veya şeridinizin Geliştirici sekmesindeki Visual Basic Seçeneğine tıklayın.

İPUCU: Şeridinizde Geliştirici sekmesi etkin değilse, şuraya gidin: Dosya, Seçenekler ve üzerine tıklayın Şeridi Özelleştir. Geliştirici onay kutusunun işaretlendiğinden emin olun ve Tamam'ı tıklayın.

Yeni bir modül eklemek için, modülü eklemek istediğiniz VBA Projesini seçin (ya çalışmakta olduğunuz kitap için VBA Projesi ya da Kişisel Makro Çalışma Kitabı), Sokmak Menü ve tıklayın Modül

Modülünüzü oluşturduktan sonra UDF'nizi oluşturmaya başlayabilirsiniz.

Tüm UDF'ler, İşlev ve ardından UDF'nin adıyla başlar. İşlevler özel veya genel olabilir, ancak genellikle Excel'deki İşlev Ekle iletişim kutusunda görünmeleri için bir UDF'nin genel olmasını istersiniz (bu makalenin ilerisinde bir Excel sayfasından bir işlev kullanma konusuna bakın). Private anahtar sözcüğünü işlevin önüne koymazsanız, işlev otomatik olarak herkese açık hale gelir.

123 Fonksiyon TestFunction1(intA As Integer) As IntegerTestFunction1= intA * 7Bitiş İşlevi

Yukarıdaki işlevin tek bir argümanı vardır (intA). Birden çok argüman içeren bir fonksiyon oluşturabilirsiniz.

123 Fonksiyon TestFunction2(intA As Integer, intB As Integer, intC As Integer) As IntegerTestFunction2 = (intA * intB) + intCBitiş İşlevi

Ayrıca isteğe bağlı bağımsız değişkenlerle bir işlev oluşturabilirsiniz. Bağımsız değişken atlanırsa, işlevdeki bağımsız değişken için varsayılan bir değer ayarlayabilirsiniz.

123 Fonksiyon TestFunction3(intA As Integer, intB As Integer, Opsiyonel intC As Integer=10) As IntegerTestFunction3 = (intA * intB) + intCBitiş İşlevi

Excel Sayfasından İşlev Kullanma

Oluşturduğunuz işlevler, varsayılan olarak işlev listesinin Kullanıcı Tanımlı bölümündeki işlev listenizde görünecektir.

Tıkla fx İşlev Ekle iletişim kutusunu göstermek için

Seçme Kullanıcı tanımlı Kategori Listesinden

Mevcut seçeneklerden istediğiniz işlevi seçin. Kullanıcı Tanımlı Fonksiyonlar.

Alternatif olarak, işlevinizi Excel'de yazmaya başladığınızda, işlev açılır işlevler listesinde görünmelidir.

İşlevleri Excel Dosyanızla Kaydetme

İşlevler VBA kodunda yazıldığından, kodun Excel sayfasında kullanılabilmesi için Çalışma Kitabında mevcut olması gerekir. İşlevlerinizi kullandığınız Çalışma Kitabına kaydedebilir veya Kişisel Makro çalışma kitabınıza kaydedebilirsiniz. Kişisel Makro çalışma kitabınız, Excel açıkken kullanılabilen ve bu nedenle Excel'deki herhangi bir Çalışma Kitabında kullanılabilen gizli bir dosyadır. Normalde bir makro kaydettiğinizde ve makroyu Kişisel Makro Çalışma Kitabında saklama seçeneğini belirlediğinizde oluşturulur.

İşlevlerinizi üzerinde çalıştığınız Çalışma Kitabında kayıtlı tutmak istiyorsanız, çalışma kitabını kaydettiğinizde ' olarak kaydedildiğinden emin olmanız gerekir.Makro Etkin Çalışma Kitabı' veya bir xlsm dosya.

wave wave wave wave wave