İçindekiler:
Video: Excel VBA Ders #020 - Fonksiyon Oluşturma & Çağırma - Örneklerle Anlatım (Dosya Linki Açıklamada) 2024
VBA programlamasında, bir işlev bir değer döndürür. Fonksiyon prosedürlerini uygulayabilir ve fonksiyonu Excel 2016'da arayabilirsiniz. Fonksiyonlar, Alt prosedürlerin aksine, yalnızca iki şekilde yürütülebilir:
-
Fonksiyonu başka bir Alt prosedür veya Fonksiyon prosedüründen çağırarak
-
çalışma sayfası formülü
Bu basit işlevi deneyin. Bir VBA modülüne girin:
İşlev CubeRoot (sayı) CubeRoot = sayı ^ (1/3) Sonlandırma İşlevi
Bu işlev oldukça zayıf; argümanı olarak kendisine iletilen sayının küp kökünü hesaplar. Bununla birlikte, işlevleri anlamak için bir başlangıç noktası sağlar. Ayrıca, işlevler hakkında önemli bir kavramı gösterir: değeri nasıl döndürür. (Bir fonksiyonun bir değeri döndürdüğünü hatırlıyor musunuz, değil mi?)
Bu İşlev yordamını oluşturan tek bir kod satırı bir hesaplama gerçekleştirdiğine dikkat edin. Matematiğin sonucu (1/3 gücündeki sayı) CubeRoot değişkenine atanır. Tesadüfen değil, CubeRoot da işlevin adıdır. İşlevin hangi değeri döndürmesi gerektiğini söylemek için, bu değeri işlevin adına atarsınız.
İşlevin bir Alt yordamdan çağırılması
Bir işlevi doğrudan yürütemediğinizden, başka bir yordamdan çağırmanız gerekir. Aşağıdaki basit yordamı, CubeRoot işlevini içeren aynı VBA modülüne girin:
İşte neler oluyor: CubeRoot işlevi yürütüldü ve 125'lik bir bağımsız değişken aldı. Hesaplama, işlevin kodu (bağımsız değişken olarak iletilen değeri kullanarak) tarafından gerçekleştirildi ve işlevin döndürülen değeri Ans değişkeni. MsgBox işlevi daha sonra Ans değişkeninin değerini görüntüler.CubeRoot işlevine geçirilen bağımsız değişkeni değiştirmeyi deneyin ve CallerSub makrosunu tekrar çalıştırın. İşlevi, işleve geçerli bir argüman (olumlu bir sayı) verdiğinizi varsayarak, gerektiği gibi çalışır.
Bu arada, CallerSub prosedürü biraz basitleştirilebilir. Kodunuz daha sonra bu değişkeni kullanmazsa, Ans değişkeni gerçekten gerekli değildir. Aynı sonucu elde etmek için bu tek deyimi kullanabilirsiniz:
MsgBox CubeRoot (125)
Bir çalışma sayfası formülünden
çağırma Şimdi, bu VBA İşlev yordamını bir çalışma sayfası formülünden çağırmanın zamanı gelmiştir.CubeRoot işlevinin tanımını taşıyan aynı çalışma kitabında bir çalışma sayfasını etkinleştirin. Sonra, herhangi bir hücrenin içine aşağıdaki formülü girin:
= CubeRoot (1728)
Hücre 12'yi gösterir, aslında 1, 728'in küp köküdür.
Beklediğiniz gibi bir hücre referansı kullanabilirsiniz CubeRoot işlevinin argümanı olarak. Örneğin, A1 hücresi bir değer içeriyorsa,
= CubeRoot (A1)
değerini girebilirsiniz. Bu durumda, işlev A1 değerinin küp kökünü hesaplayarak elde edilen sayıyı döndürür. Bu işlevi çalışma sayfasında istediğiniz sayıda kullanabilirsiniz. Excel'in yerleşik işlevleri gibi, özel işlevleriniz İşlev Ekle iletişim kutusunda görünür. İşlev Ekle araç çubuğu düğmesini tıklatın ve Kullanıcı Tanımlı kategorisini seçin. İşlev Ekle iletişim kutusunda kendi işleviniz listelenir. CubeRoot işlevi, İşlev Ekle iletişim kutusunun Kullanıcı Tanımlı kategorisinde görünür.
İşlev Ekle iletişim kutusunun işlevin bir açıklamasını görüntülemek için aşağıdaki adımları izleyin:
Geliştirici → Kod → Makrolar'ı seçin.Excel makro iletişim kutusunu görüntüler, ancak CubeRoot listede görünmez. (CubeRoot bir İşlev yordamıdır ve bu liste yalnızca Alt yordamları gösterir.) Endişelenme.
-
Makro Adı kutusuna CubeRoot yazın.
Seçenekler düğmesini tıklayın.
-
İşlevin açıklamasını Açıklama kutusuna girin.
-
Makro Seçenekleri iletişim kutusunu kapatmak için Tamam'ı tıklayın.
-
Makro iletişim kutusunu İptal düğmesini tıklatarak kapatın.
-
Bu açıklayıcı metin artık İşlev Ekle iletişim kutusunda görünür.
-
Çalışma sayfası formüllerinde kullanılan CubeRoot işlevini kontrol edin.
CubeRoot fonksiyonunun formüllerde kullanılması.