/ / Excel VBA Uygulama Nesnesi

Excel VBA Uygulama Nesnesi

WorksheetFunction | ScreenUpdating | DisplayAlerts | Hesaplama

Tüm nesnelerin annesi, Excel'in kendisi. Biz buna diyoruz Uygulama nesne. Uygulama nesnesi, Excel ile ilgili pek çok seçeneğe erişim sağlar.

WorksheetFunction

WorksheetFunction özelliğini kullanabilirsiniz. Excel VBA Excel işlevlerine erişmek için.

1. Örneğin, çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Çalışma sayfasındaki komut düğmesini tıklattığınızda, Excel VBA, A1 hücresi ve A2 hücresindeki değerlerin ortalamasını hesaplar ve sonucu A3 hücresine yerleştirir.

Excel VBA'da Çalışma Sayfası İşlevi

Not: Application.WorksheetFunction yerine.Ortalama, sadece WorksheetFunction.Average kullanın. Formül çubuğuna bakarsanız, formülün kendisinin A3 hücresine eklenmediğini görebilirsiniz. Formülün kendisini A3 hücresine eklemek için aşağıdaki kod satırını kullanın:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

Bazen, kod yürütülürken ekran güncellemesini (titremeyi önlemek için) devre dışı bırakmayı faydalı bulabilirsiniz. Sonuç olarak, kodunuz daha hızlı çalışır.

1. Örneğin, çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

Dim i As Integer

For i = 1 To 10000
    Range("A1").Value = i
Next i

Çalışma sayfasındaki komut düğmesine tıkladığınızda, Excel VBA her bir değeri saniyenin küçük bir bölümünü görüntüler ve bu biraz zaman alabilir.

ScreenUpdating

2. Süreci hızlandırmak için kodu aşağıdaki gibi güncelleyin.

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
    Range("A1").Value = i
Next i

Application.ScreenUpdating = True

Sonuç olarak, kodunuz çok daha hızlı çalışır ve yalnızca son sonucu göreceksiniz (10000).

DisplayAlerts

Excel VBA'ya kod yürütürken uyarıları görüntülememesi için talimat verebilirsiniz.

1. Örneğin, çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

ActiveWorkbook.Close

Çalışma sayfasındaki komut düğmesine tıkladığınızda, Excel VBA Excel dosyanızı kapatır ve yaptığınız değişiklikleri kaydetmenizi ister.

DisplayAlerts

2. Excel VBA'nın kod çalıştırırken bu uyarıyı görüntülememesi talimatını vermek için, kodu aşağıdaki gibi güncelleyin.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Sonuç olarak, Excel VBA, yaptığınız değişiklikleri kaydetmenizi istemeden Excel dosyanızı kapatır. Herhangi bir değişiklik kaybolur.

Hesaplama

Varsayılan olarak, hesaplama otomatik olarak ayarlanır. Sonuç olarak, Excel, formülü etkileyen bir değer her değiştiğinde çalışma kitabını otomatik olarak yeniden hesaplar. Çalışma kitabınız çok sayıda karmaşık formül içeriyorsa, hesaplamayı elkitabına ayarlayarak makronuzu hızlandırabilirsiniz.

1. Örneğin, çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

Application.Calculation = xlCalculationManual

Çalışma sayfasındaki komut düğmesine tıkladığınızda, Excel VBA hesaplamayı elkitabına ayarlar.

2. Dosya, Seçenekler, Formüller üzerine tıklayarak bunu doğrulayabilirsiniz.

Hesaplama Seçenekleri

3. Şimdi A1 hücresinin değerini değiştirdiğinizde, B1 hücresinin değeri yeniden hesaplanmaz.

Manuel hesaplama

Çalışma kitabını F9 tuşuna basarak elle yeniden hesaplayabilirsiniz.

4. Çoğu durumda, kodunuzun sonunda hesaplamayı otomatik olarak tekrar yapacaksınız. Bunu başarmak için sadece aşağıdaki kod satırını ekleyin.

Application.Calculation = xlCalculationAutomatic
Ayrıca oku: