Code VBA chọn nhiều thư mục cùng lúc

Liên hệ QC

hoanganhvo2612

Thành viên thường trực
Tham gia
15/11/16
Bài viết
251
Được thích
129
Chào các thành viên GPE,

Mình đang tìm hiểu về code VBA để có thể chọn nhiều thư mục, mình có thử với msoFileDialogFolderPicker , nhưng khi chọn AllowMultiSelect = True thì vẫn không thể chọn nhiều thư mục được. Vậy mong các bạn có thể chỉ mình code vba để làm việc này không ạ? Mình cảm ơn

Lưu ý: Mình chỉ quan tâm đến code chọn nhiều thư mục, chứ không phải là code cho thư mục cha rồi duyệt các thư mục con trong thư mục cha nhé.
 
Chào các thành viên GPE,

Mình đang tìm hiểu về code VBA để có thể chọn nhiều thư mục, mình có thử với msoFileDialogFolderPicker , nhưng khi chọn AllowMultiSelect = True thì vẫn không thể chọn nhiều thư mục được. Vậy mong các bạn có thể chỉ mình code vba để làm việc này không ạ? Mình cảm ơn

Lưu ý: Mình chỉ quan tâm đến code chọn nhiều thư mục, chứ không phải là code cho thư mục cha rồi duyệt các thư mục con trong thư mục cha nhé.
Người ta thường cần chọn nhiều files hoặc chọn duy nhất một folder, chưa từng thấy nhu cầu chọn nhiều folders để làm gì cả
Bạn có thể cho biết bạn muốn làm việc gì không?
 
Upvote 0
Người ta thường cần chọn nhiều files hoặc chọn duy nhất một folder, chưa từng thấy nhu cầu chọn nhiều folders để làm gì cả
Bạn có thể cho biết bạn muốn làm việc gì không?
Ví dụ như này anh:
Em có 1 thư mục cha là nơi chứa dữ liệu tổng hợp, trong thư mục này chia ra các thư mục con theo các năm: 2010, 2011...2018
Trong quá trình làm báo cáo thì em chỉ muốn lấy dữ liệu các files trong 2 thư mục 2017, 2018 thôi. Vậy nên em muốn chọn thư mục theo ý muốn.
 
Upvote 0
Ví dụ như này anh:
Em có 1 thư mục cha là nơi chứa dữ liệu tổng hợp, trong thư mục này chia ra các thư mục con theo các năm: 2010, 2011...2018
Trong quá trình làm báo cáo thì em chỉ muốn lấy dữ liệu các files trong 2 thư mục 2017, 2018 thôi. Vậy nên em muốn chọn thư mục theo ý muốn.
Nhu cầu hợp lý nhưng tôi e rằng bạn phải chọn cách tiếp cận khác thôi
 
Upvote 0
chế ra cái userform, rồi trên đó thêm cái nút bấm, mỗi lần bấm thì chọn một thư mục, và thêm nó vào listbox, cuối cùng là nhấn ok.
 
Upvote 0
@ chủ thớt: Chọn nhiều thư mục là bước trung gian thôi phải không? Cuối cùng vẫn là chọn vài files? Vậy mình nêu luôn là cần chọn nhiều files ở nhiều thư mục khác nhau. Nhiều khi chạy theo ý thưởng của mình mệt bỏ xừ. :)
 
Upvote 0
@ chủ thớt: Chọn nhiều thư mục là bước trung gian thôi phải không? Cuối cùng vẫn là chọn vài files? Vậy mình nêu luôn là cần chọn nhiều files ở nhiều thư mục khác nhau. Nhiều khi chạy theo ý thưởng của mình mệt bỏ xừ. :)
Đúng rồi bạn, mục đích của mình là lấy dữ liệu từ các fíles nằm trong các folders cần lấy, mình muốn hỏi xem có code để chọn nhiều thư mục không để biết thêm bạn, chứ đi đuờng khác thì mình làm đuợc rồi.
Bài đã được tự động gộp:

chế ra cái userform, rồi trên đó thêm cái nút bấm, mỗi lần bấm thì chọn một thư mục, và thêm nó vào listbox, cuối cùng là nhấn ok.
Làm như thế thì mất mấy buớc bạn, mình muốn chọn luôn mấy thư mục 1 lúc.
 
Upvote 0
Nếu chỉ 2 Folder thì tôi nghĩ nên làm vầy:
1/ Chọn riêng lẽ từng Folder, xong chọn File cần lấy dữ liệu (vì có thể trong 1 Folder có nhiều File khác không cần lấy dữ liệu).
2/ Lặp lại cho Folder khác.

Làm kiểu này tuy chậm nhưng chắc ăn hơn chọn nhiều Folder và cũng có thể 1 File nào đó ta chỉ cần lấy dữ liệu của 1 sheet, làm kiểu trên là ôm đồm nhiều thứ không cần thiết.

Làm kiểu này giống nhà nước làm quy hoạch quá (quy hoạch treo, dân thì không khoái).
 
Upvote 0
Nếu chỉ 2 Folder thì tôi nghĩ nên làm vầy:
1/ Chọn riêng lẽ từng Folder, xong chọn File cần lấy dữ liệu (vì có thể trong 1 Folder có nhiều File khác không cần lấy dữ liệu).
2/ Lặp lại cho Folder khác.

Làm kiểu này tuy chậm nhưng chắc ăn hơn chọn nhiều Folder và cũng có thể 1 File nào đó ta chỉ cần lấy dữ liệu của 1 sheet, làm kiểu trên là ôm đồm nhiều thứ không cần thiết.

Làm kiểu này giống nhà nước làm quy hoạch quá (quy hoạch treo, dân thì không khoái).
Mục đích của cháu là như bài #3, và cháu muốn chọn luôn 1 lần thui ạ, lúc đầu cháu tưởng đơn giản nhưng khi vào làm lại không được nên muốn hỏi mọi người. Nếu không được thì cháu phải làm theo cách này hoặc duyệt thư mục ạ.
 
Upvote 0
Mục đích của cháu là như bài #3, và cháu muốn chọn luôn 1 lần thui ạ, lúc đầu cháu tưởng đơn giản nhưng khi vào làm lại không được nên muốn hỏi mọi người. Nếu không được thì cháu phải làm theo cách này hoặc duyệt thư mục ạ.
Một cách tốt nhất đưa thử 1 File có chứa dữ liệu và nêu rõ cái cần làm gì với File đó, có thể đưa ra 1 bảng tổng hợp càng tốt.
Khi nắm được ý muốn, thì mọi người sẽ góp ý và cũng có thể không cần theo dõi nhiều File mà chỉ cần 1 File là ôm đồm đủ mọi thứ trên đời.
 
Upvote 0
Mình nghĩ nhiều khi cái việc cỏn con nhưng mô tả và trình bày kiểu pháp ... nên người việt khó hiểu ấy mà
hay sắp xếp lại kiểu quản lý khác vvv... khoa học một cái là thấy nó đơn giản à
 
Upvote 0
Hình như mọi người vẫn chưa hiểu mục đích chính của mình là gì?

Mục đích của mình là hỏi có code vba nào để chọn nhiều thư mục không? Nếu không có thì tất nhiên mình tìm cách khác để làm hoặc sắp xếp lại thư mục

Còn tại sao chọn nhiều thư mục thì #3 mình đã đưa ra 1 ví dụ

Dù sao cũng cảm ơn tất cả các bạn đã quan tâm.
 
Upvote 0
Hình như mọi người vẫn chưa hiểu mục đích chính của mình là gì?
Mục đích của mình là hỏi có code vba nào để chọn nhiều thư mục không? Nếu không có thì tất nhiên mình tìm cách khác để làm hoặc sắp xếp lại thư mục
Còn tại sao chọn nhiều thư mục thì #3 mình đã đưa ra 1 ví dụ
Dù sao cũng cảm ơn tất cả các bạn đã quan tâm.
Chỉ có bạn mới không hiểu ý kiến của mọi thành viên đã góp ý cho bạn.

Góp ý thêm:
1/ Không hiểu bạn đặt tên File như thế nào (chỗ này nếu đặt tên file chuẩn thì có thể phân loại theo năm, theo loại), nhưng tôi cũng có góp ý cho bạn thế này:
- Bước 1: Chọn thư mục cha và lấy danh sách các File vào 1 sheet.
- Bước 2: Sau đó xóa bỏ những dòng chứa tên File không phù hợp.
- Bước 3: Lấy dữ liệu vào File đang sử dụng.

2/ Bạn không đưa mẫu tổng hợp và cũng không nêu tổng hợp cái gì? ở đâu? Nên chẳng thành viên nào hiểu để góp ý đúng cái bạn cần.
 
Upvote 0
Chỉ có bạn mới không hiểu ý kiến của mọi thành viên đã góp ý cho bạn.

Góp ý thêm:
1/ Không hiểu bạn đặt tên File như thế nào (chỗ này nếu đặt tên file chuẩn thì có thể phân loại theo năm, theo loại), nhưng tôi cũng có góp ý cho bạn thế này:
- Bước 1: Chọn thư mục cha và lấy danh sách các File vào 1 sheet.
- Bước 2: Sau đó xóa bỏ những dòng chứa tên File không phù hợp.
- Bước 3: Lấy dữ liệu vào File đang sử dụng.

2/ Bạn không đưa mẫu tổng hợp và cũng không nêu tổng hợp cái gì? ở đâu? Nên chẳng thành viên nào hiểu để góp ý đúng cái bạn cần.

Cháu không đặt vấn đề lấy dữ liệu và tổng hợp thế nào ạ. Mà mục đích của cháu chỉ cần là có cái code vba nào để chọn nhiều thư mục thôi ạ. Khi chọn được nhiều thư mục rồi thì cháu sẽ tùy biến lấy dữ liệu các file trong folders đó

Còn cháu mô tả về công việc và cách tổ chức dữ liệu của cháu như sau:

Hàng ngày bên cháu sẽ có 1 báo cáo gửi về, các báo cáo này đều có tên đầu chung và đuôi là ngày tháng năm rõ ràng rồi, các file báo cáo thì có mẫu y hệt nhau, tên sheet giống nhau
Do nhiều files nên bên cháu sẽ chia theo các folder để dễ quản lý và truy xuất bằng cách chia theo các thư mục năm, tháng

Vấn đề của cháu là khi làm báo cáo thì cháu chỉ lấy dữ liệu của 1 vài folder thôi (ví dụ như #3)

Các vấn đề:
- chọn nhiều lần, mỗi lần 1 thư mục thì cháu làm được
- Duyệt thư mục cha rồi lấy thư mục con theo điều kiện - cháu làm được

Thế nên #1 cháu mới có lưu ý

Kết lại: mục đích của cháu cuối cùng chỉ là code VBA để chọn nhiều thư mục ạ. Nếu nó phức tạp quá thì chau thôi, chuyển sang làm 2 phương án trên.
 
Upvote 0
Làm như thế thì mất mấy buớc bạn, mình muốn chọn luôn mấy thư mục 1 lúc.
Không mất thời gian nếu bạn biết cách. Ví dụ tạo 1 UserForm với thiết kế
- 1 TextBox hoặc ComboBox để duyệt đến folder cha
- 1 ListBox chứa toàn bộ các folders con
Lúc này bạn muốn chọn nhiều folders, chỉ việc chọn trên listBox là xong
 
Upvote 0
Web KT

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

Back
Top Bottom