Thông thường, một trong những điều đầu tiên bạn làm khi tạo macro là sử dụng lệnh tắt cập nhật hiển thị màn hình. Điều này được thực hiện vì macro sẽ chạy nhanh hơn khi nó không phải cập nhật màn hình. Khi điều này được thực hiện, một trong những điều quan trọng nhất bạn có thể làm là cung cấp phản hồi cho người dùng để họ không nghĩ rằng hệ thống của họ đã đi ăn trưa.

Một phương pháp phổ biến để cung cấp phản hồi là thông qua việc sử dụng thanh trạng thái. Sử dụng VBA, điều này được thực hiện với một dòng mã tương tự như sau:

Application.StatusBar = "Updating past months..."

Dòng này khiến thông báo Đang cập nhật các tháng trước …​__ hiển thị trên thanh trạng thái của chương trình ứng dụng. Thông báo này vẫn ở đó cho đến khi một thông báo khác được ghi vào thanh trạng thái, bằng macro của bạn hoặc bằng Excel.

Nếu bạn muốn xóa thông báo trên thanh trạng thái, có hai cách bạn có thể thực hiện. Đầu tiên là viết một chuỗi trống vào thanh trạng thái, như trong đoạn mã sau:

Application.StatusBar = ""

Trong trường hợp này, không có gì giữa các dấu ngoặc kép, do đó, một chuỗi trống được hiển thị trên thanh trạng thái, xóa bất kỳ thứ gì ở đó trước đó. Phương pháp khác là sử dụng dòng sau:

Application.StatusBar = False

Việc ghi giá trị logic FALSE vào thuộc tính Application.StatusBar sẽ xóa bất kỳ thứ gì bạn đã viết trên thanh trạng thái trước đó và khôi phục văn bản thanh trạng thái mặc định.

Sử dụng thanh trạng thái đều tốt và tốt, miễn là thanh trạng thái được bật. Người dùng có thể tùy chỉnh Excel để thanh trạng thái tắt. Nếu điều này đã được thực hiện, thì bạn không thể hiển thị thông báo trên thanh trạng thái. Giải pháp là đảm bảo rằng thanh trạng thái được bật trước khi bạn cố gắng hiển thị thông báo.

Bạn có thể kiểm soát việc hiển thị thanh trạng thái bằng cách sử dụng thuộc tính Application.DisplayStatusBar. Nếu bạn đặt thuộc tính này thành một giá trị logic (TRUE hoặc FALSE), nó sẽ bật hoặc tắt thanh trạng thái.

Để làm ví dụ về cách lập trình loại quy trình này, hãy xem đoạn mã sau:

bStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..."

' ' Rest of program goes in here ' Application.StatusBar = False Application.DisplayStatusBar = bStatusState

Dòng đầu tiên của đoạn mã này chỉ định giá trị hiện tại của thanh trạng thái (TRUE hoặc FALSE, nghĩa là bật hoặc tắt) cho biến bStatusState.

Biến tương tự này được sử dụng trong dòng cuối cùng để đặt lại tình trạng thanh trạng thái về trạng thái ban đầu. Ở giữa, thanh trạng thái được bật và một thông báo được hiển thị và sau đó sẽ bị xóa.

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

Mẹo này (2296) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: