VBA Yapma Etkinlikleri | DoEvents İşlevi Nasıl ve Ne Zaman Kullanılır?

Excel VBA DoEvents İşlevi

VBA DoEvents yardımıyla , kodu arka planda çalıştırabiliriz ve aynı zamanda excel ve diğer uygulama yazılımları ile de çalışmamızı sağlar. DoEvents yalnızca diğer yazılımlarla çalışmamıza izin vermekle kalmaz, aynı zamanda kodun çalışmasını da kesebiliriz.

DoEvents işlevi, kontrolü üzerinde çalıştığımız bilgisayarın işletim sistemine geçirir.

DoEvents Fonksiyonu nasıl kullanılır?

Gereksinim çok büyük olduğunda büyük miktarda VBA kodu gerekir. Bu gibi durumlarda, excel bir süre takılıp durur ve hatta bazen yanıt vermez hale gelir.

Bu VBA DoEvents Excel Şablonunu buradan indirebilirsiniz - VBA DoEvents Excel Şablonu

Bir örnek için aşağıdaki koda bakın.

Kod:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 to 100000 Range ("A1"). Value = i Next i End Sub 

Yukarıdaki kod, 1'den 100000'e kadar olan seri numaralarını ekleyecektir. Görevi yürütmek kolaylıkla bir dakikadan fazla sürecektir. Yürütme sırasında, excel görevi tamamlamak için önemli bir süre askıda kalır. Bu süre zarfında excel, mesajı "Excel Yanıt Vermiyor" olarak gösterir.

Dahası, üzerinde çalıştığımız çalışma sayfasına erişemiyoruz. Bu sinir bozucu bir şey, o zaman kod ekranın arkasında çalışırken excel çalışma sayfasını nasıl kullanılabilir hale getirebiliriz?

Bu, bir VBA DoEvents işlevi eklenerek elde edilebilir .

Kod:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 to 100000 Range ("A1"). Value = i DoEvents Next i End Sub 

DoEvents işlevini koda eklediğimiz an Excel çalışma sayfasına erişebiliriz.

Yukarıdan kodun çalıştığını görebiliriz ancak çalışma sayfasına erişebiliriz.

Çalıştırılan Kodu Kes

Kod ekranın arkasında çalışırken satır, sütun ekleyebilir ve aynısını silebiliriz, sayfayı yeniden adlandırabiliriz ve daha birçok şey yapabiliriz. DoEvents eklediğimiz an, vba kodunu hızlı çalıştırır ve söz konusu görevin kendisi için çalıştığına düşmemizi sağlar.

  • DoEvents işlevinin tehlikelerinden biri, çalışma sayfalarını veya çalışma kitaplarını değiştirdiğimizde, etkin sayfa değerlerinin üzerine yazmasıdır.
  • Diğer bir tehlike de, hücreye herhangi bir değer girersek, kodun çalıştırılması durur ve bize haber bile vermez.
Not : Yukarıdaki DoEvents tehlikelerine rağmen, yine de kullanışlı bir işlevdir. DoEvents'i yazdığımız koddaki hataları düzeltmeye çalıştığımızda hata ayıklama sürecinin bir parçası olarak kullanabiliriz.