Khi mở file tài liệu bỗng nhiên có một thông báo trên Excel là: run time error 91. Bạn không đây là lỗi gì và sửa chữa như thế nào. Hãy để Trùm Thủ Thuật giúp bạn sửa lỗi siêu hiệu quả.
Chắc chắn thông báo lỗi này đến từ việc bạn đang sử dụng VBA (Visual Basic for Applications). Thông báo đầy đủ lỗi “Run time error 91 Object variable or With block variable not set”. Về cơ bản đây là lỗi do không tìm thấy tham chiếu lệnh. Nên các thủ thuật xử lý lỗi sẽ tùy thuộc vào nội dung của file làm việc. Thủ thuật khắc phục Excel run time error 91 tuy đơn giản nhưng cần hiểu rõ và kỹ lưỡng để có thể áp dụng thành công. Cùng tìm hiểu chi tiết.
Lỗi Run time error 91 trong Excel là gì?
Excel bị lỗi run time error 91 là tình trạng xảy ra khi việc tham chiếu trong VBA tới một đối tượng không hợp lệ hoặc không có (chưa tạo). Khi bạn chạy lệnh, thông báo lỗi sẽ hiện ra. Vì nó không thể truy xuất được đối tượng chưa được gán hoặc tham chiếu. Vài trường hợp đối tượng đó cũng có thể đã bị hủy.
Điều này được thể hiện ngay ở thông báo lối “object variable or With block variable not set” trong Excel.
Trường hợp gặp lỗi phổ biến là khi tạo báo cáo cho XML/XML nâng cao. Chính vì thế nguyên nhân chính khiến file làm việc của bạn gặp lỗi này là:
- Bạn không khởi tạo đối tượng như Workbook, Worksheet, Range cho VBA. (Hay gặp khi copy mã VBA mà không tạo đúng nội dung tham chiếu).
- Các biến được sử dụng chưa được gán giá trị.
- Trong chính mã VBS dòng mã chưa có tính hợp lệ với file dữ liệu của chúng.
- Có thể là không đủ quyền đối với tệp. Ví dụ như FRxXMLTag.XML trong thư mục FRx.
Hiểu rõ được các nguyên nhân lỗi chúng ta sẽ rõ ràng hơn trong ví dụ cách khắc phục ở phần kế tiếp.
Cách khắc phục Excel bị lỗi Run time error 91
Hiện tại thì mình có 3 phương pháp để bạn chọn lựa và xử lý lỗi như sau:
Cấp quyền khởi chạy FRx
- Đầu tiên bạn đăng nhập vào Win ở quyền cao nhất – Quản trị. Sau đó tìm đến thư mục FRx (ở Windows Explorer).
- Tìm vào tệp FRxXMLTag.XML nhấp chuột phải. Chọn tiếp thuộc tính.
- Chọn “Bảo mật” rồi mở chọn “Mọi người”.
- Click Quyền kiểm soát đầy đủ có thể nhấp vào “OK“.
Kiểm tra và khởi tạo đối tượng trong VBA cho phù hợp
Việc kiểm tra đối tượng để khởi tạo đúng cách là quan trọng nhất trong các cách để bạn khắc phục lỗi. Tuy nhiên thì nó cần phải tùy thuộc vào bộ mã VBA chi tiết của bạn. Vậy nên mình chỉ nói sơ qua các chú ý để bạn kiểm tra lại.
Ví dụ các đối tượng trong Range, Workbook, Worksheet. Hãy xem nó có sai sót hoặc thiếu ở đâu đó trong bảng tính của bạn hay không. Cần chú ý về cả tính hợp lý nữa nhé!
Đặc biệt nếu như các đối tượng tham chiếu nằm ở ngoài thì bạn càng cần phải cẩn trọng. Có thể vào Tools > References trong VBA và đảm bảo rằng không một tham chiếu nào có dấu hỏi chấm màu vàng.
Lần nữa nhắc nhở về tính logic VBA của bạn.
Dùng lệnh IF Not để kiểm tra trước khi truy xuất
Đây là một mẹo để bạn có thể sử dụng để khắc phục lỗi đơn giản. Bằng câu lệnh If Not để kiểm tra đối tượng trước khi thao tác.
Ví dụ:
If Not Worksheet Is Nothing Then
Thực hiện công việc
End If.
Nếu may mắn bạn có thể tìm ra và sửa chữa lỗi trong VBA của mình.
Phòng ngừa lỗi trong tương lai
Để tránh các phát sinh lỗi hãy chú ý kiểm tra lỗi thường xuyên bằng các công cụ hỗ trợ như On Error Resume Next . Các công cụ này có thể giúp bạn kiểm tra một cách tốt nhất về dữ liệu để mã chạy tối ưu hơn. Các biến cần được đảm bảo khai báo rõ rang để tránh lỗi không mong muốn. Bạn có thể sử dụng Option Explicit để hỗ trợ.
Lỗi “Run-time Error 91” là một lỗi phổ biến trong VBA mình mong rằng bài viết trên giúp bạn hiểu rõ về nguyên nhân và cách giải quyết lỗi “Run-time Error 91” trong Excel.
XEM THÊM