chèn câu lệnh nếu xẩy ra lỗi và báo lỗi (1 người xem)

  • Thread starter Thread starter cachabu
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

cachabu

Thành viên hoạt động
Tham gia
27/4/14
Bài viết
122
Được thích
2
em có bài này, nội dung là code này nếu khi dữ liệu đúng cấu trúc thì nó chạy bình thường, nhưng nếu như có cái gì đó không đúng trong cấu trúc dữ liệu thì nó không chạy và treo luôn máy và không tắt được file excel.



vậy các bác có cách nào nếu khi xẩy ra lỗi thì không cho chạy nữa và hiện thị lỗi gì để biết được không?

cám ơn
 

File đính kèm

Lần chỉnh sửa cuối:
trước khi trả lời, có lời trả thế này: Sao file nào của bạn cũng để là baitap.... --> giúp bạn như trả bài cho thầy cô, chán chít
 
Upvote 0
Bản thân từng câu lệnh không có lỗi, do đó treo máy là do không thoát được vòng lặp. Bạn nhập vào số liệu lỗi vào rồi chuyển sang cửa sổ VBA, add watch các biến i, ii, j, data(i + j, 2), data(i + j - 1, 2), UBound(data), bấm F9 cho chạy từng lệnh để kiểm tra xem điều kiện lặp nào không thể xảy ra.
 
Upvote 0
em có bài này, nội dung là code này nếu khi dữ liệu đúng cấu trúc thì nó chạy bình thường, nhưng nếu như có cái gì đó không đúng trong cấu trúc dữ liệu thì nó không chạy và treo luôn máy và không tắt được file excel.



vậy các bác có cách nào nếu khi xẩy ra lỗi thì không cho chạy nữa và hiện thị lỗi gì để biết được không?

cám ơn


Xoá dòng này trong code của bạn đi là dừng và báo lỗi khi chương trình bị lỗi

Mã:
On Error Resume Next
 
Upvote 0
Xoá dòng này trong code của bạn đi là dừng và báo lỗi khi chương trình bị lỗi

Mã:
On Error Resume Next

thực ra bỏ câu lệnh này ra cũng vậy ah, bạn không tin thì thử đi,
cầu này là mình tìm trên mạng rồi bỏ vào thử xem thế nào, thực chất không có câu này nó vẫn quay đều khi bị lỗi xẩy ra

bạn xem lại giúp nhé
 
Upvote 0
thực ra bỏ câu lệnh này ra cũng vậy ah, bạn không tin thì thử đi,
cầu này là mình tìm trên mạng rồi bỏ vào thử xem thế nào, thực chất không có câu này nó vẫn quay đều khi bị lỗi xẩy ra

bạn xem lại giúp nhé

Nhưng chưa hiểu bạn nói sai cấu trúc, là sai như thế nào?

nhưng nếu như có cái gì đó không đúng trong cấu trúc dữ liệu thì nó không chạy và treo luôn máy và không tắt được file excel.
 
Upvote 0
Nhưng chưa hiểu bạn nói sai cấu trúc, là sai như thế nào?

ví dụ như tại cột số chứng từ không có gì cả, hoặc cột số tiền 1 và 2 không có gì cả thì nó sẽ không chạy và treo luôn

điều mình cần là khi có gì lổi thì lập tức báo cho mình biết và không bị treo máy như vậy nữa
 
Upvote 0
ví dụ như tại cột số chứng từ không có gì cả, hoặc cột số tiền 1 và 2 không có gì cả thì nó sẽ không chạy và treo luôn

điều mình cần là khi có gì lổi thì lập tức báo cho mình biết và không bị treo máy như vậy nữa

Bạn muốn làm như vậy, giống microsoft khi bị lỗi thì báo error bi nhiêu đó.
thì bạn phải lường hết mọi trườg hợp mà nó sẻ xảy ra lỗi
còn không thì chỉ có cách "on eror resume next" hoặc "on error goto ...."
 
Upvote 0
Hãy sử dụng giải pháp code mới ở File kèm

Chuẩn sát hơn khi phân chia tiền,
Kiểm soát dữ liệu: cho phép bỏ qua dữ liệu cách dòng, dữ liệu trống ,vv..

bạn tự kiểm tra lại các trường hợp thực tế -- chắc đúng thì mới áp dụng nhé, vì tôi không có điều kiện kiểm tra nhiều tất cả các trường hợp , nên bạn tự chịu trách nhiệm về việc kiểm tra và áp dụng
 

File đính kèm

Upvote 0

Bài viết mới nhất

Back
Top Bottom