William có hai sổ làm việc, mỗi sổ chứa macro. Mặc dù các macro khác nhau, chúng được gọi bằng cách sử dụng cùng một phím tắt. Khi chỉ một trong các sổ làm việc được mở, phím tắt sẽ hoạt động tốt. Khi cả hai sổ làm việc được mở cùng một lúc, William không bao giờ biết chính xác những gì sẽ chạy. Anh ấy tự hỏi liệu có cách nào để Excel xử lý các phím tắt một cách độc lập để nếu cả hai sổ làm việc đang mở thì các phím tắt sẽ hoạt động hài hòa.

Câu trả lời ngắn gọn là không có cách nào để thực hiện điều này mà không thực hiện một số thay đổi đối với chính các macro. Các phím tắt là “toàn cầu”

đến phiên bản của ứng dụng đang chạy (trong trường hợp này là Excel). Khi sổ làm việc được mở, các phím tắt của chúng được thêm vào một bảng nội bộ có chức năng như một chỉ mục của tất cả các phím tắt và macro mà chúng được chỉ định để chạy.

Chỉ mục này dường như được sắp xếp theo thứ tự bảng chữ cái, theo tên sổ làm việc. Khi bạn sử dụng phím tắt, Excel sẽ xem chỉ mục và chọn phím tắt phù hợp đầu tiên trong chỉ mục. Ngoài ra, nếu bạn có phím tắt sử dụng một trong các phím tắt tích hợp sẵn, thì macro đã tạo sẽ luôn chạy trước macro được tạo sẵn. Nếu macro có cùng tên, macro đầu tiên được mở sẽ được chạy.

Vì bảng chỉ mục được duy trì bởi Excel được tạo bởi phiên bản ứng dụng, bạn có thể giải quyết xung đột bằng cách đảm bảo rằng bạn mở từng sổ làm việc trong phiên bản Excel của chính nó. Không sử dụng hộp thoại Mở để tải sổ làm việc thứ hai; thay vào đó hãy bấm đúp vào biểu tượng của sổ làm việc trong Windows.

Nếu bạn mệt mỏi khi nhớ mở sổ làm việc theo cách này, thì tùy chọn khác duy nhất là bắt đầu thực hiện các thay đổi đối với macro. Thay đổi dễ dàng sẽ là sửa đổi các phím tắt để chúng không giống nhau. Bạn có thể duy trì các phím tắt giống nhau bằng cách thêm một số mã vào đầu mỗi macro. Yêu cầu mỗi macro kiểm tra tên của sổ làm việc đang hoạt động. Nếu tên khớp với tên dự kiến ​​cho macro đó, thì mã có thể tiếp tục thực thi. Nếu nó không khớp, thì mã có thể kích hoạt sổ làm việc khác và trực tiếp chạy macro trong sổ đó.

_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 (2872) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.