Vba'da hücre değerleri nasıl hesaplanır?
Excel’de varsayılan olarak, bir hücre değerini değiştirdiğinizde Excel, o hücreye hesaplama bağımlılığı olan tüm hücreleri yeniden hesaplar. Ancak VBA’yı kullandığınızda, tıpkı Excel’de yaptığımız gibi bunu manüel olarak değiştirme seçeneğiniz vardır.
VBA hesaplama yöntemini kullanma
Herhangi bir koda başlamadan önce hesaplamayı aşağıdaki gibi manuel olarak değiştirebilirsiniz.
Application.Calculation = xlManual
Bu kodu çalıştırdığınızda hesaplamayı manuel olarak değiştirir.
Ve kodun sonunda otomatiğe geçmek için aşağıdaki kod satırını kullanabilirsiniz.
Application.Calculation = xlAutomatic
Hesaplamayı aşağıdaki şekilde kullanabilirsiniz.
Sub myMacro() Application.Calculation = xlManual 'your code goes here Application.Calculation = xlAutomatic End Sub
Şimdi hesapla (tüm açık çalışma kitapları)
Eğer sadece tüm açık çalışma kitaplarını yeniden hesaplamak istiyorsanız aşağıdaki gibi “Hesapla” yöntemini kullanabilirsiniz.
Calculate
Bir sayfa için hesaplama yöntemini kullanma
Aşağıdaki şekilde tüm hesaplamaları yeniden hesaplayabilirsiniz.
ActiveSheet.Calculate Sheets("Sheet1").Calculate
Kodun ilk satırı aktif sayfa için, ikinci satır ise “Sayfa1” için yeniden hesaplama yapar ancak isterseniz sayfayı değiştirebilirsiniz.
Tek bir aralık veya hücre için hesaplama
Benzer şekilde belirli bir aralık veya tek bir hücre için tüm hesaplamaları aşağıdaki gibi yeniden hesaplayabilirsiniz.
Sheets("Sheet1").Range("A1:A10").Calculate Sheets("Sheet1").Range("A1").Calculate