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.