EXCEL VBA CALCULATE (HESAPLAMA) FONKSİYONU

VBA Hesaplama Nedir?

VBA'daki Hesapla yöntemi, etkin çalışma kitabındaki veya belirli bir çalışma sayfasındaki tüm formüllerin yeniden hesaplanmasını tetiklemek için kullanılır. Bu, tüm formüllerin güncel olduğundan ve en son verileri yansıttığından emin olmak istediğiniz durumlarda yararlı olabilir. Diyelim ki Excel formülünü "A1" ile "A5" aralığından RANDBETWEEN(1,100) kullandınız. Hesaplamayı "Otomatik"ten "Manuel"e ayarlayarak VBA Hesapla Manuel'i çağırarak yeniden hesaplayabilirsiniz.

VBA Hesaplama 1
VBA Hesaplama 1-1

Bir değer aralığı elde edersiniz. Yeni bir değer aralığı elde etmek için bir alt rutin oluşturarak, RANDBETWEEN işlevini yeniden etkinleştirmek için VBA Formül Hesapla işlevini kullanabilirsiniz .

VBA Hesaplama 1-2

Bu alt programı çalıştırdıktan sonra değerlerin değiştiğini fark edeceksiniz.

VBA Hesaplama 1-3

Önemli Noktalar
  • Hesapla yöntemi, VBA'da Excel çalışma kitaplarındaki formülleri yeniden hesaplamak için kullanılır.
  • Genellikle tüm formüllerin en son verilere göre güncellenmesini sağlamak için çalışma sayfalarına veya tüm çalışma kitaplarına uygulanır.
  • Çalışma sayfası düzeyinde, ActiveSheet.Calculate etkin sayfadaki tüm formülleri yeniden hesaplamak için kullanılır.
  • Tüm açık çalışma kitaplarını yeniden hesaplamak için Application.CalculateFull kullanılabilir. Bu yöntem VBA'daki Application nesnesine aittir.
  • VBA'nın Hesaplama yöntemi, veri tutarlılığı ve doğruluğunu sağlamak için sıklıkla daha büyük otomasyon betiklerine dahil edilir.
  • Calculate'e ek olarak, CalculateFull, CalculateFullRebuild ve CalculateBeforeSave gibi belirli amaçlara hizmet eden diğer hesaplamayla ilgili yöntemler de vardır.

VBA Hesaplama Nasıl Kullanılır?

Tarih Fonksiyonunun uygulandığı bir örnek oluşturmak için aşağıdaki adımları izleyin.

Adım 1: Excel çalışma kitabını açtıktan sonra “Formluas”ı açın.

VBA Calculate 1 nasıl kullanılır

İşlemi “Manuel” olarak değiştirin.

VBA Hesaplama Adımı 1 nasıl kullanılır

Diyelim ki bir tablonuz var ve tablonun toplamı, SUM Excel fonksiyonu kullanılarak yan tarafa yazdırılıyor .

VBA Hesaplama Adımı 2 nasıl kullanılır
VBA Hesaplama Adımı 3 nasıl kullanılır

Tablodaki bir değeri değiştirirseniz, VBA Hesaplama formülünü kullanarak yeniden hesaplama yapmanız gerekir

Adım 2: Benzer şekilde başlık çubuğundan “Geliştirici” simgesini seçin ve üzerine tıklayın.

VBA Hesaplama Adımı 4 nasıl kullanılır

Geliştirici simgesine tıkladıktan sonra “Visual Basic” seçeneğini seçin. VBA düzenleyicisi açılır.

VBA Hesaplama Adımı 5 nasıl kullanılır

VBA Modülünde, başlık çubuğunda “Ekle” butonuna tıklayın ve “Modül” seçeneğini seçin.

VBA Hesaplama Adımı 6 nasıl kullanılır

Artık hesaplama işlemlerini sizin adınıza gerçekleştirecek kodlar yazabilirsiniz.

Adım 3: VBA Hesaplama formülünü çağıracak bir alt rutin tanımlayın.

VBA Hesaplama Adımı 7 nasıl kullanılır

Adım 4: Aralık fonksiyonunu kullanarak ve hücrenin içinde bulunduğu çalışma sayfasını belirterek VBA Hücre Hesaplama fonksiyonunu uygulayın.

VBA Hesaplama Adımı 8 nasıl kullanılır

Bu , o hücrede çağrılan Excel SUM fonksiyonunu çağıracaktır .

Kod:

Sub Re_Calculate()

    Sheets(“Sheet1”).Range(“J7”).Calculate

End Sub

Adım 5: Programı çalıştırmak için Excel VBA Editöründeki etkinlik çubuğundaki “F5” veya “Çalıştır” simgesine tıklayın. Toplamı kontrol edin.

VBA Hesaplama Adımı 9 nasıl kullanılır

180 değeri 130 olarak değiştirildiğinden “J7” hücresindeki SUM değeri 1260’tan 1210’a değişir.

Artık VBA Calculate fonksiyonunun genel olarak nasıl kullanıldığını biliyorsunuz. Daha fazlasını öğrenmek için aşağıdaki daha basit ve sezgisel örneklere bakın.


Örnek #1

Burada, aktif sayfanızdaki tüm hesaplamaların hemen yapıldığı bir işlev istiyorsunuz. Excel VBA'daki "Şimdi Hesapla" seçeneğini bu şekilde taklit edebilirsiniz. Bu çalışma sayfasında, 0 ile 1 arasında bir değer döndüren Excel RAND işlevini kullanırsınız.

VBA Hesaplama Fonksiyonu - Örnek 1

Adım 1: Excel VBA'da Şimdi Hesapla seçeneğini çağıracak bir alt rutin tanımlayın.

VBA Hesaplama Fonksiyonu - Örnek 1-1

Bu, şu anda içinde bulunduğunuz sayfanın tamamını hesaplayacaktır.

Adım 2: Bulunduğunuz geçerli sayfadaki VBA Hesaplama formülünü çağırın. Bu, “ActiveSheet” anahtar sözcüğü kullanılarak yapılır.

VBA Hesaplama Fonksiyonu - Örnek 1-2

Kod:

Alt Calc_Now()

    ActiveSheet.Hesapla

Son Alt Yazı

Adım 10: Alt programı çalıştırmak ve değişiklikleri görmek için “F5” tuşuna basın.

VBA Hesaplama Fonksiyonu - Örnek 1-3

Buradan kişinin yaşının 10 olduğu sonucunu çıkarabiliriz.

Örnek 2

Bu örnekte, aşağıdaki adımları izleyerek bir WorkBook'taki tüm formüllerin nasıl etkinleştirileceğini öğrenebilirsiniz.

Birden fazla sayfa olduğunu varsayalım.

VBA Hesaplama Fonksiyonu - Örnek 2
VBA Hesaplama Fonksiyonu - Örnek 2-1
VBA Hesaplama Fonksiyonu - Örnek 2-2

Adım 1: Çalışma kitabının tamamını hesaplamak için bir alt rutin tanımlayın.

VBA Hesaplama Fonksiyonu - Örnek 2-3

Adım 2: Excel VBA’da “Application” anahtar kelimesini kullanarak, Excel VBA’daki “CalculateFull” bileşenini kullanarak tüm fonksiyonları aktif edebilirsiniz.

VBA Hesaplama Fonksiyonu - Örnek 2-4

Application anahtar sözcüğü, tüm açık Çalışma Kitaplarının VBA Hesaplama işlevini çalıştırmasını sağlar.

Kod:

Sub Calc_WorkBook()

    Application.CalculateFull

End Sub

Adım 3: Yukarıdaki alt rutini çalıştırın. Çalışma sayfalarındaki tüm değerlerin değiştiğini göreceksiniz.

VBA Hesaplama Fonksiyonu - Örnek 2-5
VBA Hesaplama Fonksiyonu - Örnek 2-6
VBA Hesaplama Fonksiyonu - Örnek 2-7

Örnek 3

Değerlerle dolu bir çalışma sayfanız olduğunu varsayalım. Bu çalışma sayfasında, belirttiğiniz bir aralıkta bir değer döndüren Excel RANDBETWEEN işlevini kullanırsınız. Çalışma sayfasındaki değerleri değiştirmek isterseniz, bunu yapmak için VBA Calculate işlevini kullanabilirsiniz.

VBA Hesaplama Fonksiyonu - Örnek 3
VBA Hesaplama Fonksiyonu - Örnek 3-1

Adım 1: Çalışma sayfasının tamamını hesaplamak için bir alt rutin tanımlayın.

VBA Hesaplama Fonksiyonu - Örnek 3-2

Adım 2: Sayfa adı ile Hesapla fonksiyonunu çağırın.

VBA Hesaplama Fonksiyonu - Örnek 3-3

Kod:

Sub Calc_Sheet()

    Sheets(“Sheet2”).Calculate

End Sub

Adım 3: RANDBETWEEN işlevini kullanarak değerleri değiştirmek için alt yordamı çalıştırın. Alt yordamı her çalıştırdığınızda çalışma sayfası boyunca yeni bir değer görünecektir.

VBA Hesaplama Fonksiyonu - Örnek 3-4

Örnek 4

Excel VBA'da bir aralık boyunca VBA Calculate fonksiyonunu nasıl çağıracağınızı öğrenebilirsiniz. 100 ile 200 arasında rastgele değerler yazdırmak için RANDBETWEEN fonksiyonunu çağırdığınız bir aralığınız olduğunu varsayalım.

VBA Hesaplama Fonksiyonu - Örnek 4
VBA Hesaplama Fonksiyonu - Örnek 4-1

Tüm aralıkta çalışacak bir VBA alt programı oluşturabilirsiniz.

Adım 1: Belirli bir aralıkta çalışacak bir alt rutin oluşturun.

VBA Hesaplama Fonksiyonu - Örnek 4-2

Adım 2: VBA Aralık fonksiyonunu kullanarak , bu alt rutinin çalışacağı aralığı tanımlayın ve ayrıca Çalışma Sayfaları fonksiyonunu kullanarak çalışacağı çalışma sayfasını tanımlayın.

VBA Hesaplama Fonksiyonu - Örnek 4-3

Bu, bu alt rutinin “D3” ile “D16” aralığında çalışmasını sağlayacaktır.

Kod;

Sub Calc_Range()

    Sheets(“Sheet2”).Range(“D3:D16”).Calculate

End Sub

Adım 3: Değişiklikleri görüntülemek için alt programı çalıştırın.

VBA Hesaplama Fonksiyonu - Örnek 4-4

Bu şekilde VBA Calculate fonksiyonunu kullanarak bir aralıktaki tüm değişiklikleri görüntüleyebilir ve değerleri değiştirebilirsiniz.

Dikkat Edilmesi Gereken Önemli Noktalar

  • Farklı hesaplama modlarını (Otomatik, Tablolar Hariç Otomatik, Manuel) anlayın ve kodunuzun istenen hesaplama moduyla uyumlu olduğundan emin olun.
  • Özel gereksinimlerinize bağlı olarak gerekirse diğer hesaplamaya ilişkin yöntemleri (CalculateFull, CalculateFullRebuild, vb.) göz önünde bulundurun.
  • Calculate yöntemine yapılan yinelemeli çağrılar sonsuz döngülere yol açabilir. Calculate'i kendisini tetikleyebilecek bir olay içinde kullanırken dikkatli olun.
  • Çalışma kitabınızdaki hesaplama bağımlılıklarını anlayın. Bağımlılıkları göz ardı etmek yanlış hesaplamalara veya gereksiz yeniden hesaplamalara neden olabilir.
  • Çalışma kitabı dizinleri kullanıyorsanız, bunları sabit kodlama konusunda dikkatli olun. Çalışma kitapları sayı ve sıra olarak değişebilir, bu nedenle çalışma kitaplarına ad veya diğer tanımlayıcılarla başvurmak genellikle daha güvenlidir.

1) VBA Calculate değişken fonksiyonları günceller mi?

Evet, VBA Calculate değişken fonksiyonları güncellemek için de kullanılabilir.

2) VBA Calculate, makrolar olmadan Excel'de kullanılabilir mi?

Hayır, VBA Calculate Excel'deki makro tabanlı bir fonksiyondur. VBA makrolarını içermeden doğrudan kullanılamaz.

3) VBA Calculate'e alternatif var mı?

Evet, Excel'de VBA'ya gerek kalmadan tüm formülleri yeniden hesaplamak için F9 tuşu veya Formüller sekmesini kullanarak alternatif bir manuel yeniden hesaplama seçeneği vardır.

4) VBA Calculate kullanırken herhangi bir sınırlama veya dikkat edilmesi gereken husus var mıdır?

VBA Calculate Automatic'i kullanırken, dikkate almanız gereken birkaç sınırlama vardır.

● Aşırı kullanım performansı etkileyebilir.
● Yinelemeli çağrılar sonsuz döngülere yol açabilir.
● Tam yeniden hesaplama kaynak yoğun olduğundan dikkatli kullanın.
● Hesaplama bağımlılıklarını uygun şekilde anlayın ve işleyin.
● VBA kodunuzda uygun hata işlemeyi sağlayın.


Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...