Tắt cập nhật màn hình - Ví dụ về mã VBA

Thật thú vị khi xem macro VBA của bạn thao tác trên màn hình, bạn có thể giúp Macro của mình chạy nhanh hơn nếu bạn tắt (vô hiệu hóa) Cập nhật màn hình.

Tắt cập nhật màn hình

1. Để vô hiệu hóa ScreenUpdating, Ở đầu mã của bạn, hãy đặt dòng này:

1 Application.ScreenUpdating = Sai

Bật cập nhật màn hình

2. Để kích hoạt lại ScreenUpdating, Ở cuối mã của bạn, hãy đặt dòng này:

1 Application.ScreenUpdating = True

Ví dụ về cập nhật màn hình VBA

Quy trình của bạn sau đó sẽ giống như sau:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = Sai'Làm việc gì đóPhạm vi ("a1"). Sao chép phạm vi ("b1")Phạm vi ("a2"). Sao chép phạm vi ("b2")Phạm vi ("a3"). Sao chép phạm vi ("b3")Application.ScreenUpdating = TrueKết thúc Sub

ScreenUpdating Refresh

Vô hiệu hóa ScreenUpdating sẽ làm cho mã VBA của bạn chạy nhanh hơn RẤT NHIỀU, nhưng nó cũng sẽ làm cho công việc của bạn có vẻ chuyên nghiệp hơn. Người dùng cuối thường không muốn xem các hành động hậu trường trong quy trình của bạn (đặc biệt là khi quy trình chạy chậm). Ngoài ra, bạn có thể không muốn người dùng cuối nhìn thấy chức năng hậu trường (ví dụ: Bảng tính ẩn). Tôi khuyên bạn nên tắt (và bật lại) Cập nhật màn hình trong hầu như tất cả các quy trình của bạn.

Tuy nhiên, có một số lúc bạn muốn màn hình làm mới. Để làm mới màn hình, bạn sẽ cần tạm thời bật lại Cập nhật màn hình (không có lệnh "làm mới" màn hình):

123 Application.ScreenUpdating = True'Làm việc gì đóApplication.ScreenUpdating = Sai

Cài đặt VBA - Mã tăng tốc

Có một số cài đặt khác để cải thiện tốc độ mã của bạn.

Việc tắt tính toán tự động có thể tạo ra sự khác biệt LỚN về tốc độ:

1 Application.Calculation = xlManual

Việc tắt Thanh trạng thái cũng sẽ tạo ra một sự khác biệt nhỏ:

1 Application.DisplayStatusBar = Sai

Nếu sổ làm việc của bạn chứa các sự kiện, bạn thường nên tắt các sự kiện khi bắt đầu quy trình của mình:

1 Application.EnableEvents = Sai

Cuối cùng, mã VBA của bạn có thể bị chậm lại khi Excel cố gắng tính lại số lần ngắt trang (Lưu ý: không phải tất cả các quy trình sẽ bị ảnh hưởng). Để tắt hiển thị ngắt trang, hãy sử dụng dòng mã này:

1 ActiveSheet.DisplayPageBreaks = Sai

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave