Tự động tạo Hyperlink danh sách file trong thư mục có sẵn (1 người xem)

  • Thread starter Thread starter pvh8x
  • Ngày gửi Ngày gửi
Liên hệ QC

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

pvh8x

Thành viên mới
Tham gia
24/10/08
Bài viết
6
Được thích
2
Mình có File excel FileTongHop và thư mục DULIEU.
- FileTongHop sẽ lấy dữ liệu từ tất cả các file có trong thư mục DULIEU đồng thời tạo hyperlink trên file đó
- Thư mục DULIEU: Chứa các file có cùng mẫu

Hiện tại việc lấy dữ liệu từ các file trong thư mục DULIEU để nhập vào FileTongHop mình đã làm được (Có thể chưa tốt, bác nào có cách nào tối ưu chỉ giúp mình) nhưng mình cần thêm chức năng tự động tạo Hyperlink cho các file tương ứng.
Yêu cầu:
- Tạo Hyperlink ở cột A của file FileTongHop
- Sau khi tạo Hyperlink thì Cột A không bị thay đổi nội dung (Tức là vẫn là dữ liệu lấy từ các file trong thư mục DULIEU). Ví dụ Dữ liệu ô A3 ban đầu là ABC thì sau khi được thêm hyperlink vẫn hiện là ABC chỉ khác là được thêm hyperlink.
- Tích hợp code macro Tự động tạo Hyperlink vào Macro CapNhat để chỉ cần nhấn 1 lần là chạy cả 2.
- Cái này yêu cầu thêm nếu được: Khi nhấn vào nút Cập nhật dữ liệu, chỉ cập nhật dữ liệu cho những file chưa có trong file excel (File mới tạo)

Các cao thủ thử giúp em 1 cái :)
Cảm ơn nhiều :)
 

File đính kèm

Mình có File excel FileTongHop và thư mục DULIEU.
- FileTongHop sẽ lấy dữ liệu từ tất cả các file có trong thư mục DULIEU đồng thời tạo hyperlink trên file đó
- Thư mục DULIEU: Chứa các file có cùng mẫu

Hiện tại việc lấy dữ liệu từ các file trong thư mục DULIEU để nhập vào FileTongHop mình đã làm được (Có thể chưa tốt, bác nào có cách nào tối ưu chỉ giúp mình) nhưng mình cần thêm chức năng tự động tạo Hyperlink cho các file tương ứng.
Yêu cầu:
- Tạo Hyperlink ở cột A của file FileTongHop
- Sau khi tạo Hyperlink thì Cột A không bị thay đổi nội dung (Tức là vẫn là dữ liệu lấy từ các file trong thư mục DULIEU). Ví dụ Dữ liệu ô A3 ban đầu là ABC thì sau khi được thêm hyperlink vẫn hiện là ABC chỉ khác là được thêm hyperlink.
- Tích hợp code macro Tự động tạo Hyperlink vào Macro CapNhat để chỉ cần nhấn 1 lần là chạy cả 2.
- Cái này yêu cầu thêm nếu được: Khi nhấn vào nút Cập nhật dữ liệu, chỉ cập nhật dữ liệu cho những file chưa có trong file excel (File mới tạo)
chào bạn,
theo mình Sub CapNhat còn thiếu các điểm sau:
- khai báo các biến có trong Sub
- fPath: nếu file TongHop và thử mục DULIEU cùng chung đường dẫn bạn có thể thay thế thành
Mã:
fPath = ThisWorkbook.Path & "\DULIEU\"
- việc thêm Hyperlink trực tiếp vào cột Dữ liệu --> ko dễ thấy được tên File --> mình tạo thêm 1 cột phía trước cột A (việc này còn hỗ trợ yêu cầu cuối cùng của bạn)
- nhóm Do While ... Loop của bạn đối tượng ActiveWorkbook.Worksheets("MoTaChiTiet") được lặp đi lặp lại nhiều lần ---> nên sử dụng With ... End with ---> rút gọn code.
- địa chỉ ô các sheet MoTaChiTiet ko theo thứ tự --> bạn nên chuyển từ địa chỉ Cells thành Range sẽ dễ thấy + dễ hiểu hơn.
- mình có sử dụng Array để việc lấy giá trị từ các file DATA vào nhanh hơn.
- yêu cầu cuối cùng: phải điều chỉnh lại biến i ko cố định tại Row = 3 nữa, nó phụ thuộc vào vị trí cuối cùng chứa dữ liệu tại cột A (tên File) + thêm điều kiện Countif

'------
file mới thêm phần Hyperlink + sửa lại dòng .Resize(, 12) thành .Resize(, 13).
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
chào bạn,
theo mình Sub CapNhat còn thiếu các điểm sau:
- khai báo các biến có trong Sub
- fPath: nếu file TongHop và thử mục DULIEU cùng chung đường dẫn bạn có thể thay thế thành
Mã:
fPath = ThisWorkbook.Path & "\DULIEU\"
- việc thêm Hyperlink trực tiếp vào cột Dữ liệu --> ko dễ thấy được tên File --> mình tạo thêm 1 cột phía trước cột A (việc này còn hỗ trợ yêu cầu cuối cùng của bạn)
- nhóm Do While ... Loop của bạn đối tượng ActiveWorkbook.Worksheets("MoTaChiTiet") được lặp đi lặp lại nhiều lần ---> nên sử dụng With ... End with ---> rút gọn code.
- địa chỉ ô các sheet MoTaChiTiet ko theo thứ tự --> bạn nên chuyển từ địa chỉ Cells thành Range sẽ dễ thấy + dễ hiểu hơn.
- mình có sử dụng Array để việc lấy giá trị từ các file DATA vào nhanh hơn.
- yêu cầu cuối cùng: phải điều chỉnh lại biến i ko cố định tại Row = 3 nữa, nó phụ thuộc vào vị trí cuối cùng chứa dữ liệu tại cột A (tên File) + thêm điều kiện Countif
Cảm ơn bạn rất nhiều!
File của bạn rất OK :)
Mình không rành về VBA lắm nên mong được học hỏi nhiều :)
Một lần nữa cảm ơn bạn!
 
Upvote 0

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

Back
Top Bottom