MAIL MERGE TỪ EXCEL SANG EXCEL

Tháng Một 10, 2024

MAIL MERGE TỪ EXCEL SANG EXCEL

Các bạn biết đấy, thông thường nhắc tới mail merge thì người ta thường nghĩ tới việc kết hợp giữa excel và word, như ở bài hướng dẫn mail merge trong word, nhưng trong nhiều trường hợp các bạn không muốn sử dụng word, hay nói cách khác là mail merge không cần mở file word.

Cụ thể như các bạn có một form soạn thảo từ excel chứa rất nhiều chỉ tiêu vô định, việc sử dụng trên excel sẽ khiến các bạn dễ dàng hơn vì có thể sử dụng công thức dò tìm các chỉ tiêu không cố định này, như các bạn in thư mời khách hàng dựa vào một danh sách cố định, in toàn bộ giấy phép của nhân viên…

Hôm nay TTV sẽ chia sẻ với các bạn một thủ thuật excel thú vị đó là “mail merge từ excel sang excel” bằng cách sử dụng VBA excel, bạn mà giỏi VBA thì hiệu xuất làm việc của bạn sẽ tăng lên rất nhiều. Cùng theo dõi bài viết bên dưới nào.

Trong ví dụ sau, mình có Form thông tin như hình dưới, có hai giá trị bôi vàng sẽ thay đổi, và muốn in hàng loạt form này theo từng khách hàng khác nhau dựa vào danh sách khách hàng, nếu bạn cứ gõ từng khách rồi in thì có lẽ với hàng ngàn khách hàng bạn sẽ mất cả ngày làm việc. Nhưng TTV sẽ hướng dẫn các bạn in toàn bộ trong một click chuột “mail merge từ excel sang excel”. File này mình có 2 sheet FORMDANH SÁCH tương ứng 2 hình sau:

Xem ngay bài hay nhất:  Cách sử dụng hàm OFFSET trong Excel để tham chiếu dữ liệu có ví dụ

tron du lieu tu excel sang Đây là danh sách khách hàng chứa các thông tin tương ứng cần điền vào form mẫu. form 2 Bước 1: Đầu tiên bạn cố định lại vùng cần in, để khi in không lẫn những vùng khác vào. h%C3%ACnh c%E1%BB%91 %C4%91%E1%BB%8Bnh v%C3%B9ng inBước 2: Bây giờ ở ngoài vùng in các bạn làm như sau, ở ô M2 các bạn tô vàng lên, và để trống vậy, tiếp theo ô O1O2 các bạn dùng để gõ mã số khách hàng cần in hàng loạt, hoặc toàn bộ. hh4 Còn các chỉ tiêu thay đổi như khách hàng, tiền… các bạn cứ sử dụng công thức dò dựa vào Mã khách hàng ở ô M2 và sheet Danh Sách khách hàng như thông thường. Để biết công thức đúng hay sai, hãy gõ một Mã khách hàng bất kỳ vào ô M2. hh5 hh6Bước 3: Tiếp theo các bạn vào Insert – vùng Illustrations – Shapes và chọn một hình bất kỳ để vẽ vào một vùng ngoài vùng cần in ra. hh7 – Rồi gõ nội dung gì tùy bạn, cơ bản là như thế này hh8Bước 4: Xong rồi hãy click chuột phải vào nó và chọn Assign Macro hh9Ở hộp thoại Assign Macro tại Macro Name hãy đặt tên là PRINT_PRINT sau đó vào New HH10.1 – Bước 5: Bạn thấy vùng trống ở giữa Sub PRINT_PRINT() và End Sub chứ, hãy copy đoạn code bên dưới dán vào giữa chúng, các bạn chú ý copy đúng và đầy đủ, tránh bị bỏ sót ký tự, nếu không code sẽ không hoạt động được. hh11 Code: Dim p1, p2, i& p1 = Sheet1.Range(“O1”).Value p2 = Sheet1.Range(“O2”).Value

Xem ngay bài hay nhất:  Hướng dẫn chuyển bảng Excel sang Autocad đơn giản chi tiết

If IsNumeric(p1) = False Or IsNumeric(p2) = False Then tb = MsgBox(“So code phai la so.”, , “Thông báo”) Exit Sub End If

If p1 > p2 Then tb = MsgBox(“So code sau phai >= so code truoc.”, , “Thông báo”) Exit Sub End If

If p1 < 1 Or p2 < 1 Then tb = MsgBox(“So code phai >= 1.”, , “Thông báo”) Exit Sub End If

If p1 <= p2 Then For i = p1 To p2 Sheet1.Range(“M2”).Value = i Sheet1.PrintOut Next End If hh12 – Bước 6: Tắt cửa sổ vba excel đi và quay lại file excel, lúc này bạn muốn in từ khách hàng nào tới khách hàng nào thì cứ việc gõ Mã khách hàng vào ô O1, và O2, sau đó nhấn vào nút In vừa tạo.

Chỉ với 1 đoạn Code như trên thì chúng ta đã có thể mail merge từ excel sang excel rồi, giờ thì chỉ cần 1 click chuột là bạn có thể in được danh sách phiếu khách hàng tương ứng. Và bạn đừng quên lưu file dưới dạng Macro (.xlsm) đấy nhé.

TTV chúc các bạn thành công!

——————————-

TRUNG TÂM ĐÀO TẠO TIN HỌC TRÍ TUỆ VIỆT

CS1: 451 Điện Biên Phủ, Phường 25 – Quận Bình Thạnh – TP.HCM CS2: 213 Đường 3/2, Phường 9 – Quận 10 – TP.HCM CS3: 84T/8 Trần Đình Xu – Quận 1 – TP.HCM Hotline: 0902.936.936