Khi bạn chạy macro trong Excel, chương trình sẽ hoàn toàn chú ý đến việc hoàn thành macro. (Nghe có vẻ gần giống như con người phải không?) Điều này có nghĩa là nếu macro thực hiện khá nhiều việc xử lý dữ liệu của bạn, thì có vẻ như hệ thống của bạn đã “bị khóa” trong quá trình xử lý macro.

Tuy nhiên, hãy yên tâm rằng việc xử lý macro chỉ ảnh hưởng đến Excel.

Bạn có thể mở một ứng dụng khác và làm việc bên trong nó trong khi macro tách rời trong Excel ở chế độ nền. Tất nhiên, việc hệ thống của bạn chú ý đến macro có thể sẽ làm chậm phản hồi của chương trình khác, nhưng điều này phụ thuộc vào phiên bản Windows bạn đang sử dụng trên hệ thống của mình. Nguyên nhân? Chia sẻ tài nguyên yêu cầu một quá trình được gọi là multitasking. Các phiên bản Windows khác nhau xử lý đa nhiệm theo những cách khác nhau.

Bạn có thể tự hỏi làm thế nào bạn có thể thực hiện công việc khác trong Excel khi chương trình đang bận chạy macro. Dễ dàng — chỉ cần mở một phiên bản Excel khác (chạy lại từ menu Bắt đầu của bạn) và thực hiện một số công việc khác. Tất cả những gì bạn cần làm là đảm bảo rằng bạn không cố gắng làm việc trên cùng một sổ làm việc (hoặc các sổ làm việc) đang được sử dụng bởi các macro trong phiên bản Excel đầu tiên của bạn.

Một cách khác để thực hiện một chút công việc là sửa đổi macro của bạn một chút.

Rất có thể nếu macro của bạn chạy trong một thời gian dài, đó là do nó thực hiện một vòng lặp thuộc một số loại. Bằng cách thêm vào trong vòng lặp lệnh DoEvents, macro sẽ tạm ngừng thực thi và trao lại quyền kiểm soát cho các quy trình của người dùng. Vì vậy, nếu bạn đã nhấn một phím, nhấp chuột hoặc bắt đầu nhập một thứ gì đó, DoEvents sẽ chú ý và thực hiện bất kỳ tác vụ nào được yêu cầu để xử lý những gì bạn muốn.

Khi tất cả đầu vào của người dùng đã được xử lý, macro sẽ tiếp tục hoạt động một cách vui vẻ.

Thêm DoEvents làm chậm macro của bạn một chút, nhưng nó cho phép bạn tiếp tục làm việc một chút. (Hãy hiểu rằng Excel sẽ vẫn chạy chậm; macro của bạn cần tài nguyên để chạy.) Thêm DoEvents cũng có thể tạo cơ hội thoát khỏi macro (sử dụng Ctrl + Break) một cách có kiểm soát.

Tuy nhiên, hãy nhớ rằng bạn chỉ có thể tìm ra điều gì hiệu quả nhất trong tình huống của mình bằng cách thử nghiệm (và thử nghiệm nhiều hơn).

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

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

Mẹo này (8971) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: