Đo thời gian trong VBA bằng API

Liên hệ QC

comet_1701

Thành viên tiêu biểu
Tham gia
24/5/14
Bài viết
632
Được thích
459
Em thấy đây là đề tài rất hay. Trước đây thầy Nguyễn Duy Tuân từng viết về cái này rất nhiều.
Em muốn gọi lại một chút để những ai chưa biết thì có thể đọc lại bài của thầy Tuân
Mã:
Option Explicit
'Tac gia: Nguyen Duy Tuan - duytuan@bluesofts.net - tuanktcdcn@yahoo.com


Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean


Sub DoThoiGian()
    Dim T1@, T2@, Freq@, Overhead@
    QueryPerformanceFrequency Freq
    QueryPerformanceCounter T1
    QueryPerformanceCounter T2
    Overhead = T2 - T1
    QueryPerformanceCounter T1
    
    'Thu tuc cua ban
    
    ABC
    'Thu tuc ban  phai lam
    
    'Ket thuc chay thu tuc, nhan thoi gian ket thuc
    QueryPerformanceCounter T2
    'Debug.Print (T2 - T1 - Overhead) / Freq * 1000; "milliseconds(ms)"
    MsgBox "milliseconds(ms): " & (T2 - T1 - Overhead) / Freq * 1000
End Sub
Mã:
Sub ABC()
    Dim Sarr, Arr, i
    Sarr = Range([A4], [A65000].End(3)).Resize(, 1).Value2
    ReDim Arr(1 To UBound(Sarr, 1), 1 To 1)
        For i = 1 To UBound(Sarr, 1)
            If Sarr(i, 1) = "Nghia" Then
                Arr(i, 1) = "OK"
            End If
        Next
        [B4:B50000].ClearContents
        [B4].Resize(UBound(Sarr, 1), 1).Value = Arr
End Sub
http://www.giaiphapexcel.com/forum/...-đo-tốc-độ-thực-hiện-của-một-thủ-tục-hoặc-hàm
 

File đính kèm

  • Dothoigian.xlsm
    19 KB · Đọc: 9
Web KT
Back
Top Bottom