Cải thiện tốc độ phản hồi của Macro VBA

Khi chạy một đoạn macro VBA bạn có thể thấy màn hình chớp nháy hoặc gặp hiện tượng đơ máy... bài viết này sẽ giúp bạn khắc phục được các hiện tượng trên giúp công việc của bạn mượt mà hơn ^-^. Đầu tiên các bạn tạo một Module có nội dung:

Public CalcState As Long Public EventState As Boolean Public PageBreakState As Boolean '//Tat bo mot thiet lap quan trong trong Office: tan dung bo nho may tinh de lien tuc cap nhat hoat dong cua macro len man hinh (theo thoi gian thuc) Sub OptimizeCode_Begin() Application.ScreenUpdating = False EventState = Application.EnableEvents Application.EnableEvents = False CalcState = Application.Calculation Application.Calculation = xlCalculationManual PageBreakState = ActiveSheet.DisplayPageBreaks ActiveSheet.DisplayPageBreaks = False End Sub '//========================================================== Sub OptimizeCode_End() ActiveSheet.DisplayPageBreaks = PageBreakState Application.Calculation = CalcState Application.EnableEvents = EventState Application.ScreenUpdating = True End Sub
Cách sử dụng: Khi các bạn viết macro thì cấu trúc sẽ như sau:
Sub YourMacro() '//Optimize Code Call OptimizeCode_Begin '//Bạn đặt macro bạn muốn sử dụng ở đây your macro code here... '//Optimize Code Call OptimizeCode_End End Sub
Chúc bạn thành công!

No comments :