[Tối ưu code] Tăng tốc độ quét file name trong sub folder và folder

Liên hệ QC

Datcdt2k9

Thành viên hoạt động
Tham gia
27/12/19
Bài viết
109
Được thích
11
Chào mọi người
Mình có tham khảo code lấy tên file trong folder và sub folder và đang gặp trường hợp dữ liệu cần lấy rất lớn mấy chục nghìn dòng, code chạy rất lâu, 30.000 dòng mất hơn 20 phút.
Dữ liệu lấy không phải tại máy của mình mà là lấy từ một máy khác chung mạng LAN
Hàng ngày mình cần update data mới, mỗi lần chạy code sẽ quét lại toàn bộ các file có trong folder đã quét rồi cũng gây mất thời gian
=>1. Mọi người tối ưu giúp mình tăng tốc độ quét để giảm thời gian chạy code.
2. Tối ưu sao cho code chỉ quét các file trong vòng 1 tháng đổ lại tại thời điểm chạy code=> Tránh quét lại các file cũ từ lâu gây mất thời gian chạy code
Mình xin cảm ơn!!!
1609398625851.png
 

File đính kèm

  • Lấy tên file trong folder và sub folder.xlsm
    37.9 KB · Đọc: 15
À

À chạy code sẽ liệt kê cho mình danh sách các trường có trong cột tính đấy bạn, mình đang gặp vấn đề là chạy code rất lâu mí liệt kê xong.
Mình cứ nêu bài toán từ đầu đi. Ban đầu có gì, kết quả cần làm gì?

Hình như lần trước có bài hỏi rồi hả?
 
Chào mọi người
Mình có tham khảo code lấy tên file trong folder và sub folder và đang gặp trường hợp dữ liệu cần lấy rất lớn mấy chục nghìn dòng, code chạy rất lâu, 30.000 dòng mất hơn 20 phút.
Dữ liệu lấy không phải tại máy của mình mà là lấy từ một máy khác chung mạng LAN
Hàng ngày mình cần update data mới, mỗi lần chạy code sẽ quét lại toàn bộ các file có trong folder đã quét rồi cũng gây mất thời gian
=>1. Mọi người tối ưu giúp mình tăng tốc độ quét để giảm thời gian chạy code.
2. Tối ưu sao cho code chỉ quét các file trong vòng 1 tháng đổ lại tại thời điểm chạy code=> Tránh quét lại các file cũ từ lâu gây mất thời gian chạy code
Mình xin cảm ơn!!!
Góp ý cho bạn:
1/ Bạn nên tô màu những cột bạn cần lấy chứ không nên ôm đồm để lấy vào những thứ không cần thiết.
2/ Nếu có quá nhiều File thì nên có 12 Folder con cho 12 tháng.
3/ Nên chọn Folder con cho mỗi tháng và lưu vào 1 sheet theo dõi chung,
4/ Khi chạy code thì nên tạo Hyperlink để khi cần mở File nào đó thì chỉ cần tìm đến để mở File.
 
Bạn dùng thử code trong file này xem có cải thiện được nhiều không. Nếu được thì sẽ chỉnh sửa phù hợp với yêu cầu của bạn.
 

File đính kèm

  • LietKe_File._FixOK.xlsm
    39.1 KB · Đọc: 20
Góp ý cho bạn:
1/ Bạn nên tô màu những cột bạn cần lấy chứ không nên ôm đồm để lấy vào những thứ không cần thiết.
2/ Nếu có quá nhiều File thì nên có 12 Folder con cho 12 tháng.
3/ Nên chọn Folder con cho mỗi tháng và lưu vào 1 sheet theo dõi chung,
4/ Khi chạy code thì nên tạo Hyperlink để khi cần mở File nào đó thì chỉ cần tìm đến để mở File.
1/các cột mình cần lấy : 1.Filename 2.Path 3.Date Last Modified
2/3/.data của mình quản lý theo model nên không thể tách theo tháng được bạn ạ=>Khó quản lý
Bạn tối ưu giúp mình nhé
1609408646760.png
Bài đã được tự động gộp:

Mình cứ nêu bài toán từ đầu đi. Ban đầu có gì, kết quả cần làm gì?

Hình như lần trước có bài hỏi rồi hả?
mình chưa hỏi cái này bao giờ bạn ạ,mình cần liệt kê 1. File Name 2. đường dẫn file đó 3. Date Last Modified trong thư mục bất kì mà mình cần lấy
Như trong file gửi mình chỉ cần lấy các cột tô màu tím và tối ưu tốc độ lấy file
tối ưu giúp mình chỉ quét các data có thời gian cách thời điểm run code 1 tháng tránh phát sinh quét các file đã quét trước đó gây mất thời gian bạn ạ
1609408850083.png
 
Lần chỉnh sửa cuối:
tối ưu giúp mình chỉ quét các data có thời gian cách thời điểm run code 1 tháng tránh phát sinh quét các file đã quét trước đó gây mất thời gian
Tối ưu làm sao thì kệ người ta làm đi, miễn kết quả mà nhanh hơn là được rồi, lại còn yêu cầu làm tối ưu như nào thì căng lắm.

Không "quét" nó (file) thì làm sao biết nó như nào mà "tránh mất thời gian"?

Kiểu như không xem mặt sao biết cổ ấy xinh hay rất xinh?
 
Chào mọi người
Mình có tham khảo code lấy tên file trong folder và sub folder và đang gặp trường hợp dữ liệu cần lấy rất lớn mấy chục nghìn dòng, code chạy rất lâu, 30.000 dòng mất hơn 20 phút.
Dữ liệu lấy không phải tại máy của mình mà là lấy từ một máy khác chung mạng LAN
Hàng ngày mình cần update data mới, mỗi lần chạy code sẽ quét lại toàn bộ các file có trong folder đã quét rồi cũng gây mất thời gian
=>1. Mọi người tối ưu giúp mình tăng tốc độ quét để giảm thời gian chạy code.
2. Tối ưu sao cho code chỉ quét các file trong vòng 1 tháng đổ lại tại thời điểm chạy code=> Tránh quét lại các file cũ từ lâu gây mất thời gian chạy code
Mình xin cảm ơn!!!
View attachment 252232
Bạn dùng folder cố định không, nếu cố định thì dùng Power query quét, tôi quét ổ E khoảng 27.000 file tầm 3,4s từ lần refresh thứ 2, nếu thay đổi path có thể kết hợp power query và VBA
1609409462451.png
 
Tối ưu làm sao thì kệ người ta làm đi, miễn kết quả mà nhanh hơn là được rồi, lại còn yêu cầu làm tối ưu như nào thì căng lắm.

Không "quét" nó (file) thì làm sao biết nó như nào mà "tránh mất thời gian"?

Kiểu như không xem mặt sao biết cổ ấy xinh hay rất xinh?
Ừ bạn, mình nói ý tưởng thôi , do gặp phải vấn đề như vậy nên mình cũng trình bày luôn bạn ạ, giúp mình nhé
Bài đã được tự động gộp:

Bạn dùng folder cố định không, nếu cố định thì dùng Power query quét, tôi quét ổ E khoảng 27.000 file tầm 3,4s từ lần refresh thứ 2, nếu thay đổi path có thể kết hợp power query và VBA
View attachment 252259
Folder lớn thì luôn cố định bạn à, folder con thì có thay đổi. File kia mình dùng quét cả 1 folder lớn(folder này sẽ cố định) rồi lọc data sau
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom