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 durumlarda, excel bir süre takılır ve durur ve hatta bazen yanıt vermez hale gelir.

Örneğ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ırlar, sütunlar ekleyebilir ve aynısını silebiliriz, sayfayı yeniden adlandırabiliriz ve daha birçok şey yapabiliriz. DoEvents eklediğimiz an, VBA kodunun hızlı çalışmasını sağlar ve söz konusu görevin kendisi için çalıştığını düşünmemizi sağlar.

  • DoEvents işlevinin tehlikelerinden biri, çalışma sayfalarını veya çalışma kitaplarını değiştirdiğimizde ve etkin sayfa değerlerinin üzerine yazmasıdır.
  • Diğer bir tehlike de, hücreye herhangi bir değer girersek, kod yürütme 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.

Ilginç makaleler...