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

MyVTV Add-ins

Thư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
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: 9
Lần chỉnh sửa cuối:

Maika8008

Thành viên cùi mía
Tham gia ngày
12 Tháng sáu 2020
Bài viết
1,377
Được thích
1,243
Điểm
568
Vụ này nhiêu khê lắm bạn, mà cũng không chạy được khi Excel not responding
 

Thư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
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 ạ!
 

Maika8008

Thành viên cùi mía
Tham gia ngày
12 Tháng sáu 2020
Bài viết
1,377
Được thích
1,243
Điểm
568
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
 

Thư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
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:
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
12,250
Được thích
18,449
Điểm
5,168
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!
 

ongke0711

Thành viên tích cực
Tham gia ngày
7 Tháng chín 2006
Bài viết
871
Được thích
1,011
Điểm
1,068
Nơi ở
HCM
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ư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
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.
 

ongke0711

Thành viên tích cực
Tham gia ngày
7 Tháng chín 2006
Bài viết
871
Được thích
1,011
Điểm
1,068
Nơi ở
HCM
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:

HeSanbi

Thành viên gắn bó
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,703
Được thích
2,056
Điểm
1,368
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:
 

Thư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
Đã 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.
 

HeSanbi

Thành viên gắn bó
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,703
Được thích
2,056
Điểm
1,368

File đính kèm

  • ProgressBar2.xlsm
    49.4 KB · Đọc: 14
Lần chỉnh sửa cuối:

ongke0711

Thành viên tích cực
Tham gia ngày
7 Tháng chín 2006
Bài viết
871
Được thích
1,011
Điểm
1,068
Nơi ở
HCM

befaint

|||||||||||||
Tham gia ngày
6 Tháng một 2011
Bài viết
11,469
Được thích
13,729
Điểm
5,168
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. :)
 

ongke0711

Thành viên tích cực
Tham gia ngày
7 Tháng chín 2006
Bài viết
871
Được thích
1,011
Điểm
1,068
Nơi ở
HCM
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.
 

Thư Sinh Áo Trắng

Thành viên chính thức
Tham gia ngày
26 Tháng ba 2021
Bài viết
78
Được thích
19
Điểm
8
Tuổi
30
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?
 

ongke0711

Thành viên tích cực
Tham gia ngày
7 Tháng chín 2006
Bài viết
871
Được thích
1,011
Điểm
1,068
Nơi ở
HCM
"- 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à.
 
Top Bottom