Những lỗi thường gặp trong VBA và xử lý lỗi với đối tượng ERR

Trong bài học trước chúng ta đã tìm hiểu về cách bẫy lỗi trong VBA (Xem lại bài viết tại: https://blog.hocexcel.online/tim-hieu-ve-cach-bay-loi-trong-vba-p1.html)

Hôm nay chúng ta tìm hiểu tiếp 1 nội dung đó là các thuộc tính của đối tượng Err (lỗi trong VBA)

Nhắc lại ví dụ về câu lệnh bẫy lỗi trong bài trước:

Trong câu lệnh này, chúng ta thấy có dòng lệnh Err.Number = 11

Vậy hiểu Number = 11 nghĩa là gì? Đối tượng Err có những thuộc tính nào? Chúng ta cùng tìm hiểu nhé:

Err là đối tượng chứa các thông tin về lỗi gặp phải khi debug

Trong đối tượng này có chứa các biến số và phương thức như sau:

Err.Clear : Xóa thông tin về lỗi, đưa các biến số về giá trị mặc định (coi như không có lỗi, xóa bỏ lỗi)

Err.Description : Thêm mô tả về lỗi gặp phải

Err.HelpFile : Hiện tên tệp trợ giúp

Err.Number : Mã số của lỗi. Sau đây là một số mã lỗi cơ bản thường gặp:

5 = Gọi hàm hay truyền đối số không đúng

6 = Tràn bộ nhớ

7 = Hết bộ nhớ

9 = Truy xuất vượt chỉ số của mảng

11 = Chia cho số 0 (số bị chia có giá trị = 0)

13 = Kiểu không hợp lệ

48 = Lỗi nạp thư viện DLL

51 = Lỗi nội bộ

52 = Tên file hay số không hợp lệ

53 = Không tìm thấy File

55 = File đang mở

57 = Lỗi thiết bị xuất nhập

58 = File đã tồn tại

61 = Ổ đĩa đầy

62 = Con trỏ file vượt quá điểm cuối file

67 = File mở quá nhiều

68 = Thiết bị chưa sẵn sàng

70 = Không cho phép truy xuất

71 = Ổ đĩa chưa sẵn sàng

75 = Truy cập đường dẫn và file không đúng

76 = Không thấy đường dẫn

91 = Biến đối tượng thiếu từ khóa truy xuất With

321 = Định dạng file không hợp lệ

322 = Không thể tạo file tạm

380 = Giá trị thuộc tính không hợp lệ

381 = Chỉ số thuộc tính không hợp lệ

422 = Thuộc tính không tìm thấy

423 = Thuộc tính hay phương thức không có

424 = Yêu cầu về đối tượng

429 = Không thể tạo đối tượng ActiveX

430 = Lớp đối tượng không hỗ trợ Automation

440 = Không thể tạo đối tượng Automation

460 = Định dạng trong Clipboard không hợp lệ

461 = Phương thức hay biến thành viên không tìm thấy

462 = Server không sẵn sàng

463 = Lớp không đăng ký trên máy cục bộ

481 = Ảnh không hợp lệ

482 = Máy in bị lỗi

Nguồn: http://caulacbovb.com

Như vậy chúng ta có thể căn cứ vào các mã lỗi được thông báo để có thể hiểu được đang gặp phải lỗi gì, từ đó sửa lỗi được chính xác hơn.

VBA giúp ích rất nhiều trong công việc: Tự động hóa Excel, viết hàm tự tạo, giúp làm việc trong Excel dễ dàng hơn, chuyên nghiệp hơn, bổ sung thêm những điều mà Excel không có sẵn. Để tìm hiểu thêm nhiều kiến thức về VBA, mời bạn tham dự khóa học VBA101 – Tự động hóa Excel với lập trình VBA. Đây là khóa học rất hữu ích dành cho bạn. Hãy cùng khám phá nào