Thanh trạng thái trong excel có thể được sử dụng như một màn hình mã. Khi mã VBA của bạn dài và bạn thực hiện một số tác vụ bằng VBA, bạn thường tắt cập nhật màn hình để không thấy màn hình nhấp nháy. Nhưng do đó, bạn không thể biết điều gì đang xảy ra trong mã của mình.

Nếu bạn không biết đâu là thanh trạng thái trong excel, đây là:

unnamed

Bạn có thể sử dụng thanh trạng thái của excel để lấy thông tin từ Excel mà không can thiệp vào việc thực thi mã. Bạn có thể hiển thị các giai đoạn của Marco của mình trên thanh trạng thái hoặc sử dụng nó làm thanh tiến trình.

Mã VBA để hiển thị thông báo trên Thanh trạng thái của Excel

Application.StatusBar = "Message"

StatusBar là một thuộc tính của đối tượng Ứng dụng lấy văn bản làm đầu vào.

Trong ví dụ này, tôi chỉ hiển thị chức năng nào đang chạy …​

Sub DisplayMessageOnStatusBar()

Application.ScreenUpdating = False

Application.StatusBar = "Calling function one "

' call function_1

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = "Calling function two"

'Call function_2

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = "Calling function Three"

'Call function_3

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = ""

Application.ScreenUpdating = True

End Sub

Trong ví dụ này, cập nhật màn hình được đặt Sai ngay từ đầu.

Bây giờ, trước khi gọi hàm_1, tôi đang hiển thị thông báo đang gọi hàm một.

Application.Wait (Now + TimeValue (“00: 00: 2”))) dòng mã này chỉ nhằm giả mạo một cuộc gọi hàm dài dòng để tôi có 2 giây để nhìn thấy điều này trên thanh trạng thái của mình.

pasted image 0

Tôi đã làm điều đó trước tất cả các lệnh gọi hàm và cuối cùng, tôi đặt thanh trạng thái thành trống (“”).

Các thông báo trên thanh trạng thái khá hữu ích để hiển thị thông báo trong khi làm việc với mã dài. Khi mã của bạn trải qua nhiều giai đoạn hoặc chạy một vòng lặp dài, bạn có thể hiển thị điều đó trên thanh trạng thái để người dùng biết mã đang chạy. Nếu không, người dùng có thể nghĩ rằng hệ thống đã bị treo hoặc một cái gì đó.

Giờ đây, bạn có thể lấy thông tin trên thanh trạng thái một cách thông minh bằng VBA của Excel 2016, 2013, 2010 và 2007 bằng cách sử dụng một lớp lót này.

BÀI CŨ

Một số macro / mã vba mất nhiều thời gian để chạy hoặc thực thi các hành động được yêu cầu. Nếu bạn đã tắt cập nhật màn hình bằng dòng Application.ScreenUpdating = False ở đầu mã của bạn, thì nếu bất kỳ người dùng nào chạy mã, họ sẽ không biết chuyện gì đang xảy ra và nghĩ rằng hệ thống máy tính không phản hồi. yêu cầu mã hiển thị thông báo trạng thái trên thanh trạng thái để người dùng được thông báo về trạng thái hiện tại của mã .

Đây là một đoạn mã đơn giản, cung cấp một hộp thông báo hiển thị các giá trị trong cột A bắt đầu từ hàng 2 đến hàng cuối cùng. Thanh trạng thái sẽ hiển thị thông báo “Macro running” khi mã đang chạy và khi mã được hoàn thành, nó sẽ hiển thị “Sẵn sàng” là một trong những thông báo Excel mặc định.

Option Explicit

Sub macro1()

Dim i As Long, lrow As Long

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Application.DisplayStatusBar = True

With Worksheets(“Sheet1”)

lrow = .Range(“A” & .Rows.Count).End(xlUp).Row

For i = 2 to lrow

Application.StatusBar = “Macro running”

Msgbox .Range(“A” &i).Value

Next i

End With

Application.StatusBar = “”

Application.ScreenUpdating = True

Application.DisplayAlerts = True

End Sub

Để sao chép mã trên vào tệp của bạn, * Nhấn Alt + F11 trên bàn phím.

  • Ở phía bên tay trái, bạn sẽ thấy Microsoft Excel Objects.

  • Nhấp chuột phải và chọn Chèn.

  • Sau đó nhấp vào Mô-đun.

  • Sao chép mã vào cửa sổ mã bên phải.

Bạn có thể xem mã được đăng trong mô-đun bên dưới –

img1

Bây giờ chúng ta hãy hiểu mỗi dòng của mã làm gì – Vì vậy, trước tiên chúng ta đặt DISPLAYSTATUSBAR thành true và sau đó chúng ta đặt thông báo cho thanh trạng thái. Khi chúng ta sử dụng _Application.StatusBar = “” _ ở cuối mã, nó sẽ hoàn nguyên về thông báo Excel mặc định là SN SÀNG.

Đây là một bức ảnh của thanh trạng thái trong khi macro đang chạy.

img2

Sau khi kết thúc macro, thanh trạng thái sẽ hiển thị như sau –

img3

Vì vậy, tương tự, bạn có thể cập nhật thanh trạng thái ở các phần khác nhau của mã, để người dùng biết điều gì đang xảy ra khi macro đang chạy.

Đôi khi, có thể có một hoặc nhiều macro bao gồm nhiều quy trình và thanh trạng thái này sẽ hữu ích để biết được quy trình, macro đã đạt đến.

Nếu bạn thích blog của chúng tôi, hãy chia sẻ nó với bạn bè của bạn trên Facebook. Và bạn cũng có thể theo dõi chúng tôi trên Twitter và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện, bổ sung hoặc đổi mới công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi tại [email protected]

Bài viết phổ biến: