Czasami chcemy wiedzieć ile czasu trwało wykonanie procedury (jest to przydatne gdy dana procedura np. obrabia duży plik i chcemy sprawdzić który z dwóch algorytmów jest szybszy). W tym celu należy odczytać aktualny czas na początku i na końcu danej procedury, różnica owych czasów to czas trwania procedury. Zmienna wbudowana Timer przechowuje liczbę która informuje nas ile sekund minęło od północy.
Uwaga: poniższy przykład jest dość uproszczony. Nie zakłada on specyficznej sytuacji gdy np. makro zostanie uruchomione 3 sekundy przed północą i zakończy się wykonywać 2 sekundy po północy dnia następnego.
Sub CzasTrwania()
Dim Poczatek As Single
Dim Koniec As Single
Dim Dlugosc As Single
Dim a As Long, b As Long
Poczatek = Timer
For a = 1 To 100000000
b = b + 1
Next a
Koniec = Timer
Dlugosc = Round(Koniec - Poczatek, 2)
MsgBox "Procedura wykonywała się: " & Dlugosc & " sekund", vbInformation
End Sub
Funkcja Round w powyższym przykładzie zaokrągla liczbę do 2 miejsc po przecinku