Hiện quá trình xử lý của code VBA giống như chương trình quét virus!

Liên hệ QC

Thư Sinh Áo Trắng

Thành viên hoạt động
Tham gia
26/3/21
Bài viết
160
Được thích
31
111111111111.jpg
- Khi quét Virus bằng phần mềm nào đó đều cho biết, thời gian cần quét của chương trình là bao nhiêu thời gian. Hiện file nào nào đang được quét... đó là quét virus
- Với code VBA em muốn thêm phần đó vào trong code đã được xây dựng, và phần thêm vào code VBA đã xây dựng trước đó để biết: Code VBA đang xử lý dữ liệu gì? còn bao lâu nữa thì xử lý xong
Giả sử code đã chạy chuẩn và chỉ cần hiện thông tin code đang xử lý!
Em có một file được xây dựng bởi anh @Maika8008 , anh @phuocam
Xin giúp em thêm phần hiên thông tin quá trình xử lý code giống như đang quét phần mềm diệt virus vậy
Em cảm ơn các bác!
 

File đính kèm

  • tunhaysangngaymoikhidenmoc0h.xlsm
    19.7 KB · Đọc: 12
Lần chỉnh sửa cuối:
Vụ này nhiêu khê lắm bạn, mà cũng không chạy được khi Excel not responding
 
Upvote 0
Vụ này nhiêu khê lắm bạn, mà cũng không chạy được khi Excel not responding
Vâng. Em tách nhỏ ra để chạy. Sau có thời gian cập nhận công nghệ khác!
Nó báo Not ResPenDing treo 1 lúc vẫn chạy ra kết quả được anh ạ!
Do chờ đợi đau tim quá (vì số lượng code nhiều) lên muốn có phần đồ họa phản ánh việc đang chạy để đỡ đau tim ấy ạ!
 
Upvote 0
Nó báo Not ResPenDing treo 1 lúc vẫn chạy ra kết quả được anh ạ!
Do chờ đợi đau tim quá (vì số lượng code nhiều) lên muốn có phần đồ họa phản ánh việc đang chạy để đỡ đau tim ấy ạ!
Nhưng not responding rồi thì cái đồ họa đó (nếu làm được) cũng treo cứng luôn. Lúc đó còn đau tim hơn --=0
 
Upvote 0
Nhưng not responding rồi thì cái đồ họa đó (nếu làm được) cũng treo cứng luôn. Lúc đó còn đau tim hơn --=0
Chia nhỏ ra not responding nhưng vẫn chạy ra kết quả ạ(em có chèn các câu lệnh cải thiện tốc độ code).
Vụ này căng anh nhỉ?
Chắc chủ đề không hứng thú lắm nên ít khách, nhưng ai gặp phải vấn đề file khủng chắc Stress nặng!:type:
 
Upvote 0
FoxPro thì làm được; Access thì phức tạp hơn & Excel thì chưa thấy ai mần thử
Mà vấn đề này chắc không hứng thú với các lập trình viên phần mền hiện đại rồi cũng nên!
 
Upvote 0
Cái này thì làm thanh tiến trình (progress bar) đơn giản thôi, chia nhỏ thanh theo số lượng file xử lý, chứ đừng chia theo từng record chi cho mệt. Progess bar thì diễn đàn có bài rồi.
 
Upvote 0
Cái này thì làm thanh tiến trình (progress bar) đơn giản thôi, chia nhỏ thanh theo số lượng file xử lý, chứ đừng chia theo từng record chi cho mệt. Progess bar thì diễn đàn có bài rồi.
Thấy khó quá anh ạ. Thấy anh @Maika8008 bảo khi code not responding thì Progess bar cũng đơ theo.
Không biết nên thế nào.
 
Upvote 0
Thấy khó quá anh ạ. Thấy anh @Maika8008 bảo khi code not responding thì Progess bar cũng đơ theo.
Không biết nên thế nào.
Đúng rồi. Khi chạy code VBA, nó đơ thì đơ toàn tập, sau khi hết đơ thì nó chạy tiếp, đến đoạn nào đúng chỗ kích hoạt thanh tiến trình thì nó cập nhật %.
Nói chung thanh tiến trình cũng không quan trọng lắm để tốn code cho nó.

 
Lần chỉnh sửa cuối:
Upvote 0
khi code not responding thì Progess bar cũng đơ theo
Đã viết Process Bar thì đặt VBA.DoEvents vào trong vòng lặp sâu nhất (vòng lặp trong vòng lặp) thì sao not responding, trừ khi code lỗi.
Viết Process Bar mà không có VBA.DoEvents thì thôi chớ làm.

Bạn tham khảo bài viết:
 
Upvote 0
Đã viết Process Bar thì đặt VBA.DoEvents vào trong vòng lặp sâu nhất (vòng lặp trong vòng lặp) thì sao not responding, trừ khi code lỗi.
Viết Process Bar mà không có VBA.DoEvents thì thôi chớ làm.

Bạn tham khảo bài viết:
Cuối cùng chỉ nặng code thêm và tạo ra cái đồ họa không chính xác phải không 2 bác @HeSanbi @ongke0711 nhỉ. Chủ đề nên dừng phải không ạ!
Cảm ơn các bác.
 
Upvote 0

File đính kèm

  • ProgressBar2.xlsm
    49.4 KB · Đọc: 23
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Cái vụ tính thời gian còn lại cũng tương đối, đânh lừa thôi chứ có chính xác đâu? Lúc tăng nhanh lúc chậm... Giống như thời gian cài windows vậy.
Đúng như vậy mà anh. Tức là khi CPU xử lý tác vụ nhẹ thì tính ra thời gian ít, lúc sau gặp tác vụ nặng thì báo thời gian lâu hơn. :)
 
Upvote 0
Cuối cùng chỉ nặng code thêm và tạo ra cái đồ họa không chính xác phải không 2 bác
Nó chính xác tuỳ trường hợp xử lý dữ liệu.
Ví dụ:
- Bạn cập nhật các dòng dữ liệu xuống Sheet, Table thì lấy tổng số record chia 100% -> chính xác đến từng record
- Cập nhật dữ liệu từ ngày /đến ngày thì lấy tổng số ngày chia 100% -> chính xác đến từng ngày.
- Còn trong hình demo trên của tôi thì tôi phải chạy 4 cái tác vụ (4 query) thì tôi chỉ cần biết đã chạy xong tác vụ nào là được rồi. Tôi chia làm bar thành 4 phần.
 
Upvote 0
Có lúc cũng cần, tôi vừa viết xong một Process Bar cũng linh hoạt.

Bạn tham khảo:
Cảm ơn anh nhiều! Có thể dùng cái này của anh chế được vào code!
Người ta đang hỏi có phần tính thời gian chạy cơ mà. :D :D
Chứ cái % thì tính làm gì.

View attachment 258053
Tùy từng cấu hình báo thời gian nhanh chậm khác nhau. Em chỉ sợ Run Code mà treo "Not Responding" thì cái đồ hòa này cũng đơ theo theo thì cũng vẫn đau tim
Nó chính xác tuỳ trường hợp xử lý dữ liệu.
Ví dụ:
- Bạn cập nhật các dòng dữ liệu xuống Sheet, Table thì lấy tổng số record chia 100% -> chính xác đến từng record
- Cập nhật dữ liệu từ ngày /đến ngày thì lấy tổng số ngày chia 100% -> chính xác đến từng ngày.
- Còn trong hình demo trên của tôi thì tôi phải chạy 4 cái tác vụ (4 query) thì tôi chỉ cần biết đã chạy xong tác vụ nào là được rồi. Tôi chia làm bar thành 4 phần.
"- Bạn cập nhật các dòng dữ liệu xuống Sheet, Table thì lấy tổng số record chia 100% -> chính xác đến từng record" có lẽ dùng cái này. Không biết có hiện tượng file chạy Not Responding thì Process Bar có bị đơ theo không?
 
Upvote 0
"- Bạn cập nhật các dòng dữ liệu xuống Sheet, Table thì lấy tổng số record chia 100% -> chính xác đến từng record" có lẽ dùng cái này. Không biết có hiện tượng file chạy Not Responding thì Process Bar có bị đơ theo không?

Cứ thử xem, bạn sẽ biết ngay ấy mà.
 
Upvote 0
Web KT
Back
Top Bottom