Excel'de halihazırda SUM, DÜŞEYARA, SOL ve benzeri gibi yüzlerce yerleşik işlev bulunsa da, mevcut yerleşik işlevler genellikle oldukça karmaşık görevleri yapmak için yeterli değildir. Ancak endişelenmeyin, çünkü yalnızca gerekli işlevleri kendiniz oluşturmanız gerekir.
Adım
Adım 1. Yeni bir çalışma kitabı oluşturun veya Kullanıcı Tanımlı İşlevler (UDF) ile işlemek istediğiniz çalışma kitabını açın
Adım 2. Microsoft Excel'de Araçlar->Makro->Visual Basic Düzenleyicisi aracılığıyla Visual Basic Düzenleyicisini açın (veya Alt+F11 kısayoluna basın)
Adım 3. Çalışma sayfanıza yeni bir modül eklemek için Modül düğmesine tıklayın
Yeni bir modül eklemeden bir çalışma kitabında UDF oluşturabilirsiniz, ancak işlev aynı çalışma kitabındaki diğer çalışma sayfalarında çalışmayacaktır.
Adım 4. İşlevinizin "kafasını" veya "prototipini" oluşturun
Fonksiyon prototipi aşağıdaki yapıyı takip etmelidir:
public function "Function Name" (parametre1 Tip1 olarak, parametre2 Tip2 olarak) Sonuç tipi olarak.
Prototipler olabildiğince çok işleve sahip olabilir ve türleri, tüm temel veri türleri veya Aralık biçimindeki Excel nesne türleri olabilir. Parametreleri, fonksiyonun üzerinde çalışacağı “işlemciler” (operatörler) olarak düşünebilirsiniz. Örneğin 45 derecenin sinüsünü hesaplamak için SIN(45) yazdığınızda 45 sayısı parametre olarak alınacaktır. Ardından, fonksiyon kodu hesaplamaları yapmak ve sonuçları görüntülemek için bu değerleri kullanacaktır.
Adım 5. Aşağıdakilerden emin olmak için fonksiyon kodunu ekleyin: 1) parametre tarafından verilen değeri kullanın; 2) sonucu fonksiyon adına iletin; ve 3) işlevi " bitiş işlevi " cümlesiyle kapatın. VBA'da veya başka bir dilde programlamayı öğrenmek çok zaman ve ayrıntılı rehberlik gerektirir. Neyse ki, bu işlevler genellikle küçük kod bloklarına sahiptir ve programlama dili özelliklerinden pek faydalanmaz. VBA dilinin kullanılabilecek bazı öğeleri şunlardır:
- Yalnızca koşul karşılandığında kodun bir bölümünü yürütmenize izin veren If (if) bloğu. Örnek olarak:
- . İsteğe bağlı olduğu için Else anahtar sözcüğünü kodun ikinci kısmıyla birlikte dışarıda bırakabilirsiniz.
- Koşul karşılanıncaya veya karşılanana kadar Süre veya Kadar kodunun bir bölümünü yürüten Do (do) bloğu. Örnek olarak:
- . Ayrıca değişkeni "bildiren" ikinci satıra da dikkat edin. Daha sonra kullanmak üzere kodunuza değişkenler ekleyebilirsiniz. Değişkenler kodda geçici değerler olarak hareket eder. Son olarak, işlev bildirimini yalnızca DOĞRU veya YANLIŞ değerlerine izin veren bir veri türü olan BOOLEAN olarak düşünün. Bu asal sayıları belirleme yöntemi optimal olmaktan uzaktır, ancak kod, okunması kolay olacak şekilde yazılmıştır.
- blok için (to), belirli bir miktarda kod yürütür. Örnek olarak:
- Doğrudan hücre formülüne yazılan sabit bir değer. Bu durumda metin (string) alıntılanmalıdır.
- Hücre referansları, örneğin B6 veya aralığı gibi A1:C3 (parametre veri türü “Aralık” olmalıdır)
-
İşlevinizin içinde bulunan başka bir işlev (işleviniz başka bir işlevin içine alınabilir), örneğin: =Faktöriyel(MAX(D6:D8))
Adım 7. Sonuçların doğru olduğundan emin olun
İşlevin çeşitli parametre değerlerini doğru bir şekilde işleyebildiğinden emin olmak için birkaç kez kullanın:
İpuçları
- If, For, Do vb. gibi kontrol yapılarında kod blokları yazarken, boşluk çubuğuna birkaç kez veya tab tuşuna basarak kod bloğunu girintili yaptığınızdan (sol çizgi kenarlığını hafifçe içeri soktuğunuzdan) emin olun. Bu, kodun anlaşılmasını kolaylaştıracak ve hataların bulunması çok daha kolay olacaktır. Ek olarak, işlevsellikteki artışın yapılması daha kolay hale gelir.
- Fonksiyonlar için kod yazmayı bilmiyorsanız, Microsoft Excel'de Basit Makro Nasıl Yazılır makalesini okuyun.
- Bazen işlevlerin sonucu hesaplamak için tüm parametrelere ihtiyacı yoktur. Bu durumda, işlev başlığında parametre adından önce İsteğe bağlı anahtar sözcüğü kullanabilirsiniz. Bir parametreye değer atanıp atanmadığını belirlemek için kodunuzdaki IsMissing(parameter_name) işlevini kullanabilirsiniz.
- Kullanılmayan adları Excel'de işlev olarak kullanın, böylece hiçbir işlevin üzerine yazılmaz ve silinmez.
- Excel'in birçok yerleşik işlevi vardır ve çoğu hesaplama, bu yerleşik işlevler kullanılarak tek tek veya bir kerede gerçekleştirilebilir. Kendiniz kodlamaya başlamadan önce mevcut işlevler listesine bir göz attığınızdan emin olun. Yerleşik işlevleri kullanırsanız yürütme daha hızlı yapılabilir.
Uyarı
- Güvenlik nedeniyle birçok kişi makroları devre dışı bırakır. Çalışma kitabı alıcılarınıza, gönderilen çalışma kitabında makrolar olduğunu ve bu makroların bilgisayarlarına zarar vermeyeceğini bildirdiğinizden emin olun.
- Bu makalede kullanılan işlev, ilgili sorunu çözmenin en iyi yolu değildir. Örnek, dil kontrol yapılarının kullanımını açıklamak için kullanılır.
- VBA, diğer diller gibi, Do, If ve For dışında birkaç kontrol yapısına sahiptir. Burada tartışılan yapı, yalnızca işlevin kaynak kodunda neler yapılabileceğini açıklar. İnternette VBA öğrenmenize yardımcı olacak birçok kılavuz var.
Public Function Ders Sonucu (Tamsayı değeri olarak) As String
Değer >= 5 ise
Kurs Sonuçları = "Kabul Edildi"
Başka
Kurs Sonuçları = "Reddedildi"
Bitir
Bitiş İşlevi
If kod bloğundaki öğelere dikkat edin:
EĞER koşulu THEN kodu ELSE kodu END IF
Public Function BilPrima(value As Integer) As Boolean
Dim i Tamsayı Olarak
ben = 2
BilPrima = Doğru
Yapmak
Eğer değer / i = Int(değer / i) O zaman
BilPrima = Yanlış
Bitir
ben = ben + 1
Döngü ise i < değer Ve NumberPrima = Doğru
Bitiş İşlevi
Öğelere tekrar bakın:
DO LOOP WHILE/UNTIL koşulu
Kamu Fonksiyonu Faktöriyel(Tamsayı Olarak Değer) As Uzun
Soluk sonuçlar As Long
Dim i Tamsayı Olarak
Eğer değer = 0 ise
sonuç = 1
ElseIf değeri = 1 O zaman
sonuç = 1
Başka
sonuç = 1
i = 1 için değer
sonuç= sonuç * ben
Sonraki
Bitir
faktöriyel = sonuç
Bitiş İşlevi
Öğelere tekrar bakın:
FOR değişkeni = alt sınırdan kodun üst sınırına SONRAKİ
. Ayrıca, if ifadesindeki, yürütülmekte olan koda daha fazla seçenek eklemenizi sağlayan ek ElseIf öğesini not edin. Son olarak, "sonuç" işlevini ve Long olarak bildirilen değişkeni göz önünde bulundurun. Uzun veri türü, Tamsayı'dan çok daha büyük değerlere izin verir.
Aşağıda küçük sayıları kelimelere çeviren bir fonksiyonun kodu gösterilmektedir.
Adım 6. Çalışma kitabına dönün ve hücreye “eşittir” sembolünü (=) ve ardından fonksiyonun adını yazarak fonksiyonu kullanın
Fonksiyon adından sonra köşeli parantezleri (“(“) işaretini kullanarak yazın. koma parametreleri ayırmak ve kapanış parantezleri (“)”) ile bitirmek için. Örnek olarak:
=SayıdanHarf(A4)
. Ev yapımı formülleri kategorilerde arayarak da kullanabilirsiniz. Kullanıcı tanımlı Formül Ekle seçeneğinin içinde. sen sadece butona tıkla döviz formül çubuğunun solunda. Fonksiyonlarda üç tür parametre formu vardır: