Macro thường được tạo để xử lý dữ liệu và việc xử lý dữ liệu thường có thể mất nhiều thời gian. Do đó, một số người dùng có thể nghĩ rằng máy tính của họ đã ngừng phản hồi, ngay cả khi macro đang bận thực hiện nhiệm vụ được chỉ định của nó.

Giải pháp cho hầu hết các nhà phát triển macro là bằng cách nào đó cảnh báo người dùng về tiến trình của macro. Có hai cách để bạn có thể thực hiện việc này trong Excel. Cách tiếp cận đơn giản và phổ biến nhất là sử dụng thanh trạng thái để cho biết macro đang làm gì. Tất cả những gì bạn cần làm là tập hợp một chuỗi có chứa thông báo trạng thái, sau đó gán chuỗi đó cho thuộc tính StatusBar của đối tượng Application, như được hiển thị ở đây:

sStatus = "Processing Input File - Please Be Patient"

Application.StatusBar = sStatus

Tin nhắn vẫn ở trên thanh trạng thái cho đến khi bạn ghi đè nó bằng một số tin nhắn khác. Bạn cũng có thể chỉ ra tiến trình trong một vòng lặp bằng cách đưa ra phần trăm hoàn thành:

For x = 1 to y     Application.StatusBar = Format(x/y,"0.0%") & " Complete"

' Other coding here Next

Khi quy trình của bạn kết thúc, hãy trả thanh trạng thái trở lại bình thường với câu lệnh sau:

Application.StatusBar = False

Nếu bạn muốn phát triển chỉ báo tiến độ thực tế cho macro, bạn có thể làm như vậy bằng cách tạo UserForm và sau đó cập nhật biểu mẫu để hiển thị “thanh phần trăm” hoặc một số chỉ báo trực quan khác. Bạn có thể tìm thấy một ví dụ về loại chỉ báo tiến độ này tại địa chỉ này:

https://www.excel-easy.com/vba/examples/progress-indicator.html

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (8969) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: