Hướng dẫn cách đo tốc độ tính toán của Excel bằng VBA

Chúng ta thường thấy Excel thực hiện các công thức chỉ trong nháy mắt với những bảng tính nhỏ, hoặc đôi khi phải chờ một lúc mới tính xong với bảng tính lớn. Vậy bạn đã bao giờ tự hỏi “nháy mắt” hay “một lúc” cụ thể là bao lâu? Việc đó thì có ảnh hưởng gì khi làm việc trong Excel? Điều đó có thực sự quan trọng? Những câu hỏi đó của bạn sẽ được giải đáp qua bài viết này. Chúng ta cùng tìm hiểu cách đo tốc độ tính toán của Excel bằng VBA ngay nào.

Microsoft cung cấp cho chúng ta một đoạn Code để sử dụng trong VBA giúp chúng ta đo được thời gian thực hiện công thức trong Excel là bao nhiêu milisecond. Các đoạn code đó như sau:

Đoạn code thứ 1

Trong đoạn code này bạn cần lựa chọn nội dung phù hợp theo phiên bản VBA trong máy của bạn. Cách kiểm tra là mở cửa sổ VBAvà thực hiện như sau:

Nếu phiên bản có số 7 ở trước thì copy đoạn code #1, còn các phiên bản khác thì copy đoạn code #2

Cách thêm đoạn code vào VBA:

Ví dụ: với phiên bản VBA 7.1 thì sử dụng đoạn code #1

Đoạn code thứ 2:

Đoạn code này sẽ giúp chúng ta có thể sử dụng đơn vị milisecond (mili giây) để tính toán, đo đạc.

Đoạn code này chỉ sử dụng được khi chúng ta đã có đoạn code thứ 1 trong VBA.

Các bạn copy đoạn code và dán vào phía dưới đoạn code đầu tiên

Đoạn code thứ 3:

Đoạn code này khá dài phải không nào, nhưng bạn chỉ cần copy nó vào trong Module VBA là được.

Sau khi copy 3 đoạn code trên vào VBA, chúng ta quay trở lại file Excel, nhấn Alt + F8 để kiểm tra kết quả thu được:

Giao diện cửa sổ Macro

Đây là 4 Macro thu được bởi 3 đoạn code. Với các macro này chúng ta có thể sử dụng để đo lường tốc độ tính toán của Excel.

Để dễ theo dõi và sử dụng các Macro này, chúng ta sẽ vẽ ra các Shape (hình khối) và gán macro vào các hình đó.

Ví dụ:

Ý nghĩa của các lệnh này như sau:

Ví dụ như sau:

Tạo 1 workbook có 2 sheet, trong đó cả 2 sheet đều có cấu trúc giống nhau gồm:

Kiểm tra tốc độ tính toán cho vùng ô A1:A11, chúng ta chọn vùng này rồi bấm vào nút RangeTimer

Như vậy để tính toán cho 11 công thức trong các ô từ A1:A11, Excel chỉ mất 0,00296 giây.

Nếu tính lại, thời gian sẽ là:

Như vậy với 2 lần tính toán trên cùng 1 vùng ô, cùng 1 công thức ta thấy tốc độ tính toán khác nhau. Điều này là do giá trị tại các ô từ A1:A10 là khác nhau, dẫn tới kết quả tính toán của các ô khác nhau. Số càng lớn thì thời gian tính toán càng nhiều.

Bây giờ bạn đã có thể nói chính xác là Excel mất bao nhiêu lâu để tính toán 1 công thức, hay mất bao nhiêu lâu để tính ra kết quả của 1 bảng báo cáo được rồi. Việc kiểm soát thời gian tính toán sẽ giúp ích rất nhiều cho bạn khi làm việc với bảng tính lớn, công thức tính phức tạp, nâng cao. Hãy đón xem những nội dung này ở các bài viết sau nhé.

Các bạn có thể tải file mẫu của bài viết theo địa chỉ: http://bit.ly/2TZz3xx

Ngoài ra các bạn có thể tham khảo một số bài viết cùng chủ đề như:

Những nguyên nhân làm file excel trở nên nặng và tính toán chậm

Bí kíp giảm cân cho file Excel – Tập 1

Cách sửa file Excel bị nặng chậm, và gỡ bỏ mật khẩu bảo vệ