Lỗi biên dịch VBA

Hướng dẫn này sẽ giải thích Lỗi biên dịch VBA có nghĩa là gì và nó xảy ra như thế nào.

Trước khi chạy mã của bạn, VBA Editor sẽ biên dịch mã. Về cơ bản, điều này có nghĩa là VBA kiểm tra mã của bạn để đảm bảo rằng tất cả các yêu cầu ở đó để chạy nó một cách chính xác - nó sẽ kiểm tra xem tất cả các biến đã được khai báo chưa (nếu bạn sử dụng Option Explicit mà bạn nên làm!), Hãy kiểm tra xem tất cả các thủ tục đã được khai báo chưa , kiểm tra các vòng lặp và câu lệnh if, v.v. Bằng cách biên dịch mã, VBA giúp giảm thiểu bất kỳ lỗi thời gian chạy nào xảy ra.

(Xem Hướng dẫn xử lý lỗi của chúng tôi để biết thêm thông tin về Lỗi VBA)

Các biến không được khai báo

Nếu bạn không khai báo các biến, nhưng Option Explicit của bạn được bật ở đầu mô-đun của bạn và sau đó bạn chạy macro, lỗi biên dịch sẽ xảy ra.

Nếu bạn nhấp vào OK, quy trình liên quan sẽ chuyển sang chế độ gỡ lỗi.

Ngoài ra, trước khi chạy mã, bạn có thể bắt buộc biên dịch mã.

bên trong Thực đơn, lựa chọn Gỡ lỗi> Biên dịch dự án.

Trình biên dịch sẽ tìm bất kỳ lỗi biên dịch nào và đánh dấu lỗi đầu tiên mà nó tìm thấy tương ứng.

Các thủ tục không được khai báo

Nếu mã của bạn đề cập đến một thủ tục không tồn tại, bạn cũng sẽ gặp lỗi biên dịch.

Ví dụ:

1234 Sub CallProcedure ()'một số mã ở đây sau đóGọi tiếp theoKết thúc Sub

Tuy nhiên, nếu thủ tục - NextProcedure không tồn tại, khi đó sẽ xảy ra lỗi biên dịch.

Mã hóa không chính xác - Báo cáo kết thúc dự kiến

Nếu bạn tạo một vòng lặp bằng cách sử dụng Đối với… Mỗi… Tiếp theo hoặc Với… Kết thúc với và quên và Kế tiếp hoặc là Kết thúc với… Bạn cũng sẽ gặp lỗi biên dịch.

123456 Sub CompileError ()Dim wb As WorkbookDim ws As WorksheetCho mỗi ws Trong wbMsgBox ws.NameKết thúc Sub

Điều tương tự sẽ xảy ra với câu lệnh If nếu phần End If bị bỏ qua!

Thiếu tài liệu tham khảo

Nếu bạn đang sử dụng Thư viện đối tượng không phải là một phần của Excel, nhưng bạn đang sử dụng các đối tượng từ thư viện trong khai báo biến của mình, bạn cũng sẽ nhận được lỗi biên dịch.

Điều này có thể được giải quyết bằng cách Kết thúc muộn - khai báo các biến là Đối tượng; hoặc bằng cách thêm các Thư viện đối tượng vào Dự án.

bên trong Thực đơn, lựa chọn Công cụ> Tham khảo và thêm thư viện đối tượng có liên quan vào dự án của bạn.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave