Funkcja timera VBA

Funkcje zegara VBA zwracają liczbę sekund, które upłynęły od północy bieżącego dnia (zwracane jako typ danych Single).

Korzystanie z funkcji timera VBA

Poniższy kod pokaże, jak używać funkcji timera VBA, aby określić, ile sekund minęło od północy w momencie uruchomienia kodu:

12345678 Sub przy użyciu funkcjiVBATimer()Dim sekundOd jako singielsekundySince = Zegar()Debug.Drukuj sekundySinceNapis końcowy

Wynik to:

Użyj timera VBA, aby uzyskać rzeczywisty czas

Możesz przekonwertować sekundy zwrócone przez funkcję Timer na format gg:mm:ss, aby zobaczyć rzeczywisty czas, używając następującego kodu:

123456789101112131415 Sub PobieranieAktualnegoCzasu()Dim sekundOd jako singielDim cTime As DoublePrzyciemnij rzeczywisty czas jako wariantsekundySince = Zegar()cCzas = sekundyOd / (86400)theActualTime = Format(cTime, "gg:mm:ss")MsgBox "Czas, który upłynął od północy w sekundach to" & " " & sekundySince & vbNewLine & _„Rzeczywisty czas to:” i „ ” i rzeczywisty czasNapis końcowy

Wynik to:

Czas sekcji kodu VBA

Jeśli chcesz przetestować ponownie napisany kod lub debatować nad „szybszymi” metodami w VBA, możesz użyć wbudowanego timera VBA. Ustawienie zmiennej równej licznikowi czasu na początku kodu i odjęcie jej od licznika czasu na końcu da ci dobre oszacowanie ile czasu zajmuje uruchomienie fragmentu kodu.

Na wydajność mogą wpływać między innymi inne programy działające lub próbujące uruchomić, gdy makro jest aktywne.

Poniższy przykład posłużył do sprawdzenia, ile czasu zajmie napisanie słowa „test” w komórce A1 w arkuszu Arkusz1 pół miliona razy. Na moim komputerze zajęło to 21 sekund.

123456789101112131415161718 Sub BenchMark()Dim liczyć tak długoDim BenchMark jako podwójnyBenchMark = Zegar„Początek kodu do przetestowania”Dla Count = 1 do 500000Arkusz1.Komórki(1, 1) = "test"Następne zliczanie„Koniec kodu do przetestowania”MsgBox Timer - BenchMarkNapis końcowy

Jeśli Twój kod działa wolno, spróbuj go przyspieszyć, wyłączając aktualizację ekranu. Aby ekran Excela był aktywny podczas działania timera, możemy wstawić do kodu metodę DoEvents.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave