/ / Excel VBA Uçucu İşlevleri

Excel VBA Uçucu İşlevleri

Varsayılan olarak, UDF "s (Kullanıcı Tanımlı İşlevler) Excel VBA uçucu değildir. Fonksiyonun herhangi bir argümanı değiştiğinde sadece yeniden hesaplanırlar. uçucu fonksiyon Çalışma sayfasında herhangi bir hücrede hesaplama gerçekleştiğinde yeniden hesaplanacaktır. Bunu biraz daha açıklamak için kolay bir örneğe bakalım.

1. Visual Basic Düzenleyicisi'ni açın ve Ekle, Modülü tıklayın.

Seçilen hücrenin ve bu hücrenin altındaki hücrenin toplamını döndüren MYFUNCTION adlı bir işlev oluşturun.

2. Aşağıdaki kod satırlarını ekleyin:

Function MYFUNCTION(cell As Range)

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

3. Artık diğer Excel işlevlerinde olduğu gibi bu işlevi kullanabilirsiniz.

Excel VBA'da Uçucu Olmayan İşlev

4. Bu uçucu olmayan bir işlevdir. Uçucu olmayan fonksiyonlar sadece fonksiyonun argümanlarından herhangi biri değiştiğinde yeniden hesaplanır. B2 hücresinin değerini 8 olarak değiştirin.

fonksiyon

5. Şimdi B3 hücresinin değerini 11 olarak değiştirin.

Diğer Hücre Değişiklikleri

Açıklama: Sayfadaki herhangi bir diğer hücre değiştiğinde uçucu olmayan işlev yeniden hesaplanmaz.

6. Fonksiyonu uçucu hale getirmek için fonksiyonu aşağıdaki gibi güncelleyin:

Function MYFUNCTION(cell As Range)

Application.Volatile
MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

7. B3 hücresinin değerini 12 olarak değiştirin.

Sonuç:

Excel VBA'da Uçucu İşlev

Not: İşlevi tekrar başlatmak için (veya imlecinizi formül çubuğuna yerleştirerek ve enter tuşuna basarak yenilemek için) fonksiyonu tekrar girmeniz gerekir.

Ayrıca oku: