VBA Zamanlayıcı İşlevi

VBA Zamanlayıcı işlevleri, geçerli günün gece yarısından bu yana geçen saniye sayısını döndürür (Tek veri türü olarak döndürülür).

VBA Zamanlayıcı İşlevini Kullanma

Aşağıdaki kod, kodun çalıştırıldığı sırada gece yarısından bu yana kaç saniye geçtiğini belirlemek için VBA Zamanlayıcı İşlevini nasıl kullanacağınızı gösterecektir:

12345678 TheVBATimerFunction() Kullanarak AltDim saniyeSince As SinglesaniyeSince = Zamanlayıcı()Debug.Print saniyeSinceAlt Bitiş

Sonuç:

Gerçek Zamanı almak için VBA Zamanlayıcıyı kullanın

Aşağıdaki kodu kullanarak gerçek zamanı görmek için Zamanlayıcı işlevinden döndürülen saniyeleri ss:dd:ss biçimine dönüştürebilirsiniz:

123456789101112131415 Alt AlmaTheActualTime()Dim saniyeSince As SingleDim cTime As DoubleVaryant Olarak Gerçek Zamanı KarartınsaniyeSince = Zamanlayıcı()cZaman = saniyeSince / (86400)theActualTime = Format(cTime, "ss:dd:ss")MsgBox "Gece yarısından beri geçen süre saniye cinsinden" & " " & saniyeSince & vbNewLine & _"Gerçek saat:" & " " & theActualTimeAlt Bitiş

Sonuç:

VBA Kodunun Bir Bölümünü Zamanlama

Yeniden yazılmış kodu kıyaslamak veya VBA'da "daha hızlı" yöntemleri tartışmak istiyorsanız, VBA'nın yerleşik zamanlayıcısını kullanabilirsiniz. Kodunuzun başlangıcında zamanlayıcıya eşit bir değişken ayarlamak ve bunu sonundaki zamanlayıcıdan çıkarmak size bir iyi tahmin bir kod parçasının çalışmasının ne kadar sürdüğünü gösterir.

Performans, diğer şeylerin yanı sıra, makro etkinken çalışan veya çalışmaya çalışan diğer programlardan etkilenebilir.

Aşağıdaki örnek, Sayfa1'deki A1 hücresine "test" kelimesini yarım milyon kez yazmanın ne kadar süreceğini görmek için kullanıldı. Makinemde 21 saniye sürdü.

123456789101112131415161718 Alt BenchMark()Dim Sayısı UzunDim BenchMark Çift OlarakBenchMark = Zamanlayıcı'Test Edilecek Kodun BaşlangıcıSayım için = 1 ila 500000Sheet1.Cells(1, 1) = "test"Sonraki Sayı'Test Edilecek Kodun SonuMsgBox Zamanlayıcı - BenchMarkAlt Bitiş

Kodunuz yavaş çalışıyorsa, ekran güncellemesini devre dışı bırakarak kodu hızlandırmayı deneyin. Zamanlayıcı çalışırken Excel ekranını aktif tutmak için kodun içine DoEvents yöntemini ekleyebiliriz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave