Hãy tưởng tượng bạn đã viết một mã VBA để ghi vào một tệp, lưu và đóng nó. Bây giờ, mỗi khi bạn chạy mã của mình, nó sẽ hiển thị một thông báo bật lên trong Excel như thế này (nếu tệp đã tồn tại).

etg

Bạn có thể nhấp vào OK một lần nhưng nếu mã của bạn làm như vậy trong 100 giây thì không khả thi để làm như vậy. Bạn không muốn điều này xảy ra. Bạn cần tự động hóa quá trình này. Để làm như vậy, chỉ cần thêm những dòng này vào mã của bạn.

Sub DisablUpdates()

With Application.DisplayAlerts = False ‘Turns of

alerts.AlertBeforeOverwriting = False ‘Turns of overwrite

alerts.ScreenUpdating = False ‘Turns of screen updatingEnd

With

”Your Code here’*

With Application.DisplayAlerts = True ‘Turns back on

alerts

ScreenUpdating = True ‘Turns on screen updating

End With

End Sub

Giải thích mã Mã này không chỉ tắt cảnh báo VBA mà còn tăng hiệu quả thời gian của mã. Hãy xem làm thế nào.

Để sử dụng mã này, trước tiên bạn cần kích hoạt VBA để vượt trội.

Khi bắt đầu mã, chúng tôi đã tắt tất cả các thao tác không cần thiết và cuối cùng, chúng tôi đã bật chúng lên để hệ thống của bạn hoạt động như trước đây.

Với Ứng dụng: Dòng này cho phép chúng ta truy cập vào tất cả các thuộc tính của đối tượng Ứng dụng. Chúng ta có thể gọi chúng chỉ bằng cách sử dụng ‘.’ (Dấu chấm)

nếu được gọi bằng Block “With”.

DisplayAlerts = False: Đây là một thuộc tính của đối tượng ứng dụng.

Xem ở đây, chúng tôi đã gọi nó bằng cách sử dụng “.” toán tử just. Dòng này vô hiệu hóa tất cả các cảnh báo về việc đóng tệp, ghi đè hoặc mở tệp đã mở.

ScreenUpdating = False: trong hầu hết mọi mã, bạn di chuyển từ ô này sang ô khác, trang tính này sang trang tính khác và sổ làm việc này sang sổ làm việc khác. Nếu không thêm dòng này, bạn sẽ thấy màn hình nhấp nháy. Mọi chuyển động bạn thực hiện trên hệ thống bằng VBA sẽ được hiển thị. Điều này gây tốn thời gian và có thể khiến hệ thống của bạn bị treo. Để tiết kiệm thời gian và nguồn lực, hãy luôn kết hợp dòng này.

Khối dưới cùng cũng phải được thực hiện để biến excel của bạn trở lại bình thường và để xem kết quả. Bạn không làm gì khác ngoài việc bật mọi công tắc bạn đã tắt trong phần Viết khối này trước mỗi Kết thúc Sub và Thoát Sub.

Với ứng dụng

DisplayAlerts = True .AlertBeforeOverwriting = True .ScreenUpdating = True End With Đây là một trong những câu hỏi phổ biến nhất của Phỏng vấn lập trình viên Excel VBA. Có 90% khả năng bạn sẽ được hỏi câu hỏi này trong câu hỏi Nâng cao Excel và VBA.

Tôi hy vọng bạn có giải pháp của bạn. Nếu không, hãy sử dụng phần nhận xét để đặt câu hỏi được cá nhân hóa hơn.

Tải xuống tệp

Bài viết liên quan:

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