Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Đối với một phiên bản Microsoft Excel 97 của bài viết này, hãy xem 157346.Đối với một phiên bản Microsoft Excel 98 của bài viết này, hãy xem 182482.

Triệu chứng

Trong Microsoft Office Excel, Microsoft Visual Basic for Application (VBA) mã macro có chứa "Behind" của một trang tính hoặc sổ làm việc có thể không hoạt động chính xác.

Nguyên nhân

Thao tác này sẽ xảy ra nếu cả hai điều kiện sau là đúng:

  • Mã trong câu hỏi được chứa trong một dòng công việc tự động chạy, chẳng hạn như Auto_Open hoặc Auto_Close subroutine.

  • Mã này không chứa trong mô-đun Visual Basic nhưng "Behind" trang tính hoặc sổ làm việc chính nó.

Cách giải quyết

Để tự động chạy Subroutines để hoạt động đúng cách trong Microsoft Excel, họ phải được chứa trong một mô-đun Visual Basic. Bạn phải chèn một mô-đun Visual Basic vào sổ làm việc và sau đó đặt mã trong mô-đun mới. Để chèn mô-đun Visual Basic:

  1. Trong Project Explorer trong trình soạn thảo Visual Basic, hãy kích hoạt sổ làm việc có chứa mã trong câu hỏi.

  2. Trên menu Chèn, bấm vào Mô-đun.

Sau khi đã chèn mô-đun mới, hãy cắt mã từ vị trí ban đầu và dán nó vào mô-đun Visual Basic. Sau đó, lưu sổ làm việc.

Thông tin Bổ sung

Trong Excel, mã VBA có thể được lưu trữ ở ba vị trí khác nhau: trong mô-đun Visual Basic, trong mô-đun lớp Visual Basic, và "Behind" trang tính và sổ làm việc. Để sửa mã "Behind" trang tính hoặc sổ làm việc:

  1. Kích hoạt trình soạn thảo Visual Basic (nhấn ALT + F11).

  2. Trong cửa sổ Project Explorer , bạn sẽ thấy các mục nhập tương tự như sau:

         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 

Nếu bạn bấm đúp vào một trong các tên trang tính hoặc Thissổlàm việc, bạn có thể nhập mã trong cửa sổ mã. Mã này không chứa trong mô-đun Visual Basic được coi là "phía sau" của trang tính hoặcThissổ làm việc. Nếu một Auto_Open, Auto_Closehoặc không tự động chạy subroutine khác sẽ được lưu trữ "Behind" a trang tính hoặc thissổlàm việc, nó có thể không hoạt động đúng khi bạn mở hoặc đóng sổ làm việc của bạn hoặc khi bạn thực hiện một hành động, nên làm cho subroutine chạy.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×