Tự động chia file tổng thành nhiều files báo cáo và gửi email

Bạn có bảng lương của tất cả nhân viên công ty, muốn chia thành các file nhỏ tương ứng là lương của từng nhân viên và tự động gửi file này đến nhân viên đó. Hay nếu bạn có một file dữ liệu tổng hợp của nhiều đơn vị, bạn muốn tự động chia file này thành các báo cáo cho từng đơn vị và tự động gửi email đính kèm báo cáo đến các đơn vị đó, thì bạn hãy đọc bài viết.

Ví dụ: Bạn làm việc ở một công ty có nhiều chi nhánh  (1000 chi nhánh), bạn ở Hội sở, bạn có dữ liệu tổng hợp về kết quả hoạt động của tất cả các chi nhánh, nhiệm vụ của bạn là phải chia dữ liệu tổng hợp đó thành 1000 báo cáo tương ứng với 1000 chi nhánh, và gửi 1000 báo cáo này cho các chi nhánh.

Bạn có thể thực hiện công việc này bằng thao tác bình thường trên Excel? Tất nhiên bạn có thể làm như thế, nhưng nó sẽ tốn của bạn rất nhiều thời gian,. Với hàng chục nghìn thao tác lặp đi lặp lại, khả năng xảy ra sai sót là rất rất cao.

Giải pháp cho bạn là dùng Model tự động tách file và tự động gửi email như file đính kèm trong bài viết. Và bạn chỉ cần setup thông tin một lần với các thao tác đơn giản:

(1). Input đầy đủ danh sách email của các đơn vị cần nhận báo cáo trong sheet Email_List

auto_split_email_list

(2).  Copy và paste bảng dữ liệu tổng hợp cần chia vào sheet “Raw”:

auto_split_data

Để không phải chỉnh sửa lại setup nhiều, bạn paste dữ liệu với header của bạn từ ô B4 nhé.

(3). Set up các thông tin để vận hành hệ thống (thường chỉ 1 lần đầu tiên):

auto_split_model

Các tham số cần setup :

  • To, CC (cell C2,C3): Thông tin Tự động, được link từ Email_List , không cần thay đổi
  • Email Subject (C4): Subject của email, bạn thay đổi cho phù hợp
  • Email Content (C5): Nội dung của email, bạn thay đổi cho phù hợp
  • Attached File (C6): Tên file đính kèm, thay đổi nếu bạn muốn
  • Path file (C7): Đường dẫn để đặt file sau khi được chia, chú ý có \ ở cuối
  • Row filter(F2): Dòng dữ liệu để đặt filter
  • Column filter (F3): Cột để đưa vào điều kiện lọc cho đơn vị
  • Rank filter (F4): Vùng để copy dữ liệu cho từng đơn vị
  • Unit (J2): Tự động, macro sẽ chạy tất cả các đơn vị ở sheet Email_list

Bạn hãy chú ý đảm bảo đường dẫn đặt file tồn tại trong máy tính của bạn và bạn  test thử danh sách một vài đơn vị trước. Việc sử dụng model này có thể tiết kiệm cả ngày làm việc cho bạn đó.

Nếu bạn cần thêm sự hỗ trợ, thì đừng ngại liên lạc với chúng tôi nhé.

 

Download Attachments

Comments ( 8 )

  1. / ReplyThảo Hoàng
    Dear anh, Em có thử sử dụng code của anh nhưng khi chạy thì có lệnh báo lỗi và được dẫn đến phần câu lệnh này ah: ActiveWorkbook.SaveAs Filename:=fFile, FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False Em mới học chút xíu về VBA nên cũng chưa hiểu rõ lỗi này là sao ah, và có thể sửa lại như thế nào ah? Mong sớm nhận phản hồi từ anh ah.
  2. / ReplyJackie Minh
    Dear anh, Em đã sử dụng file của anh nhưng khi gởi mail thì khi nó tách file ra nó copy all và chỉ hiện phần filter. Mình có cách nào cho nó copy thẳng ra những phần nào filter thôi ko?
  3. / ReplyAn Ril
    Cùng câu hỏi với bạn Thảo Hoàng. Mong sớm nhận phản hồi từ add. Xin cám ơn
  4. / Replyphuong
    chào các anh chị, trường hợp bảng dữ liệu mình xuất ra muốn paste value thôi, không hiện bảng filter (mục đích người nhận không nhìn thấy giá trị của người khác ) thì làm thế nào ạ ? nhờ các cao thủ chỉ giúp em với, thanks nhiều nhiều
  5. / ReplyHòa
    các tiền bối cho em hỏi có ai làm được chưa ạ, nếu làm được rùi thì dạy em với ạ, em chưa hiểu cách làm, ngốc quá,hic tesunghoa@gmail.com
  6. / Replyvy dang
    Dear add, Add có thể hỗ trợ viết lại câu lệnh/chỉ cách viết lại câu lệnh sao cho các file tách của từng đơn vị chỉ chứa dữ liệu của đơn vị đó thôi, không được phép filter để chọn xem dữ liệu của các đơn vị khác được không? Cám ơn add nhìu nhìu luôn!
  7. / ReplyHuyền
    Sao mình tải File về lại không có Nút "OK" ấy nhỉ
  8. / Replyphuong
    Nhờ các anh chị giúp em cho em xin thêm đoạn code copy dữ liệu này sau khi fillter với ạ. Như vậy người nhận được thư sẽ không sử dụng được dữ liệu được filler đi. Rất mong nhận được hồi âm !

Gửi nhận xét