Trộn dữ liệu từ Excel sang Word mở rộng (phiên bản ongke0711) (1 người xem)

Liên hệ QC

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

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
2,329
Được thích
3,142
Giới tính
Nam
(Xin phép được tách bài từ bài post của bác Maika8008 (Link) để tránh lẫn lộn khi trao đổi và do cũng tài lanh xen vào, gây loãng bài của bác ấy).


Trộn dữ liệu từ Excel sang Word
-------------------------------------------------------------------------------------------

Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word.
Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc.

* Các chức năng:
- Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản.
- Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng.
- Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name.
- Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu.
- Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự.
- Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp).
- Trộn các Symbols (font Wingdings, Marlett, Webdings)
- Xuất file dạng .Docx, .PDF


>> Cập nhật ngày 11/10/2023:
- Trộn bảng biểu Excel vào Word Table, giữ nguyên định dạng thiết kế trong Excel.

>> Cập nhật ngày 14/07/2025: Lấy dữ liệu dạng cột (File đính kèm bên dưới)


Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé.
Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge.

(*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này.

Mã:
wdocSource.MailMerge.OpenDataSource...






3qgQKVn.png






Hướng dẫn sử dụng trong video.


* Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office.

Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
 

File đính kèm

Lần chỉnh sửa cuối:
Hướng dẫn thiết kế file Word để có thể nhận hình ảnh theo cái demo Excel của tôi:
--------------------------------------------
Dùng Table để chứa file ảnh. Tận dụng tính năng Auto Fit - Fixed Column Width để chèn ảnh vừa khít 1 ô trong Table.
- Trong file Word, dùng công cụ Draw table để vẽ 1 ô tại vị trí mình muốn hiển thị ảnh.
- Chọn các mục như hình bên dưới.
- Nhập tên cột cần trộn vào ô table này. Xong

CleanShot 2022-06-20 at 10.09.45@2x.png CleanShot 2022-06-20 at 10.11.44@2x.png. Screen Shot 2022-06-20 at 10.13.13.png
 
Lần chỉnh sửa cuối:
Upvote 0
Có cập nhật về định dạng các kiểu dữ liệu bị thay đổi khi trộn qua Word. Lúc trước bỏ quên vụ này.
Các bạn tải lại file ở bài #1 nhé.
Sau này có thời gian rảnh tôi sẽ chuyển thành Add-in dùng Task panel, Form để tương tác và dễ phân phối, sử dụng cho các file Excel khác.
 
Upvote 0
Có cập nhật về định dạng các kiểu dữ liệu bị thay đổi khi trộn qua Word. Lúc trước bỏ quên vụ này.
Các bạn tải lại file ở bài #1 nhé.
Sau này có thời gian rảnh tôi sẽ chuyển thành Add-in dùng Task panel, Form để tương tác và dễ phân phối, sử dụng cho các file Excel khác.
Chào anh, mạn phép xin anh có thể giúp em đoạn mã tự động "Insert Merge Field" trong word,theo từng trường thông tin ở file "2.xlsx" tương ứng với file word 1 ( em đã làm xong ), được không ạ. Nhiều file mà em làm tay thì hơi mất thời gian ạ. Mong anh dành chút thời gian xem qua. Em xin cảm ơn nhiều.
 

File đính kèm

Upvote 0
Chào anh, mạn phép xin anh có thể giúp em đoạn mã tự động "Insert Merge Field" trong word,theo từng trường thông tin ở file "2.xlsx" tương ứng với file word 1 ( em đã làm xong ), được không ạ. Nhiều file mà em làm tay thì hơi mất thời gian ạ. Mong anh dành chút thời gian xem qua. Em xin cảm ơn nhiều.
Tôi chưa hiểu ý bạn lắm.
Ý bạn là muốn trong file Word, khi thao tác chọn "Insert merge Field" - chọn từng Field cho từng vị trí trong văn bản, thì sẽ có code tự động chèn vào? Hay ý như thế nào?

Screen Shot 2022-06-22 at 21.36.53.png.

--> Tự động chọn field như hình và chèn?

Ý đầu như tôi nói ở trên là không làm được nhé vì làm sao máy tính nó tự động biết chèn Field nào ở vị trí nào trong văn bản. Phải có thao tác thủ công của con người vô.
 
Upvote 0
Tôi chưa hiểu ý bạn lắm.
Ý bạn là muốn trong file Word, khi thao tác chọn "Insert merge Field" - chọn từng Field cho từng vị trí trong văn bản, thì sẽ có code tự động chèn vào? Hay ý như thế nào?

View attachment 277768.

--> Tự động chọn field như hình và chèn?

Ý đầu như tôi nói ở trên là không làm được nhé vì làm sao máy tính nó tự động biết chèn Field nào ở vị trí nào trong văn bản. Phải có thao tác thủ công của con người vô.
Dạ vâng em cảm ơn anh nhiều
 
Upvote 0
Tôi chưa hiểu ý bạn lắm.
Ý bạn là muốn trong file Word, khi thao tác chọn "Insert merge Field" - chọn từng Field cho từng vị trí trong văn bản, thì sẽ có code tự động chèn vào? Hay ý như thế nào?

View attachment 277768.

--> Tự động chọn field như hình và chèn?

Ý đầu như tôi nói ở trên là không làm được nhé vì làm sao máy tính nó tự động biết chèn Field nào ở vị trí nào trong văn bản. Phải có thao tác thủ công của con người vô.
Chào anh ạ, hoặc có thể làm phương án là mình chọn vị trí trên Word rồi mình đánh chữ để gợi ý (vd: đánh chữ S sẽ gợi ý ra những dòng "SoPhieuChuyen") v..v, để mình chọn được không ạ. Tại trên Insert Merge Field phải tìm nên hơi lâu ạ. Làm nhiều file chắc mờ cả mắt luôn :D. Cám ơn anh đã xem ạ
 
Upvote 0
Chào anh ạ, hoặc có thể làm phương án là mình chọn vị trí trên Word rồi mình đánh chữ để gợi ý (vd: đánh chữ S sẽ gợi ý ra những dòng "SoPhieuChuyen") v..v, để mình chọn được không ạ. Tại trên Insert Merge Field phải tìm nên hơi lâu ạ. Làm nhiều file chắc mờ cả mắt luôn :D. Cám ơn anh đã xem ạ
Tôi nghĩ là được nhưng khi đó sẽ là viết code mail merger trong Word chứ không phải trong Excel. Nhưng giờ thì chưa viết được nhe :D .
Không biết bác @giaiphap , bác @huuthang_bd đã có cái Word Add in nào có tính năng tìm kiếm merge Field giống đề xuất như trên giới thiệu cho bạn ấy xài không nhỉ.
 
Upvote 0
Tôi nghĩ là được nhưng khi đó sẽ là viết code mail merger trong Word chứ không phải trong Excel. Nhưng giờ thì chưa viết được nhe :D .
Không biết bác @giaiphap , bác @huuthang_bd đã có cái Word Add in nào có tính năng tìm kiếm merge Field giống đề xuất như trên giới thiệu cho bạn ấy xài không nhỉ.
Dạ em cám ơn anh ạ
 
Upvote 0
Tôi nghĩ là được nhưng khi đó sẽ là viết code mail merger trong Word chứ không phải trong Excel. Nhưng giờ thì chưa viết được nhe :D .
Không biết bác @giaiphap , bác @huuthang_bd đã có cái Word Add in nào có tính năng tìm kiếm merge Field giống đề xuất như trên giới thiệu cho bạn ấy xài không nhỉ.
Dùng file này kết hợp với tiện ích của bạn xem có được không? Cái này chỉ dùng riêng cho cái tiện ích của bác thôi đấy nhé.
 

File đính kèm

Upvote 0
Xin cảm ơn anh nhều
 
Lần chỉnh sửa cuối:
Upvote 0
Chào anh em có file mẫu thiết kế như này nhưng chạy không ra anh à. nhờ anh sửa em code với em xin chân thành cảm ơn anh
1. Nó báo lỗi như thế nào hoặc có triệu chứng như thế nào bạn?
2. Dòng tiêu đề của bảng dữ liệu trong file mẫu của tôi không có dùng dấu ngoặc vuông "[ ]" nhé. Nó là tên cột dùng để tham chiếu, đối chiếu với file Word nên khi có thay đổi nào trong tên Cột sẽ làm ứng dụng chạy không như mong muốn nhé.
 
Lần chỉnh sửa cuối:
Upvote 0
Không điền được dữ liệu anh à
 
Lần chỉnh sửa cuối:
Upvote 0
Không điền được dữ liệu anh à
Bài đã được tự động gộp:

Dạ em biết ạ. Nhưng em muốn nhờ bác sửa file em gửi cho nó điền được không bác
Bạn bỏ hết dấu ngoặc vuông trong file excel rồi chạy thủ xem. Tại sao phải bắt buộc phải giữ dấu ngoặc vuông đó ?
 
Upvote 0
Dạ em chạy được rồi anh à. Cảm ơn Bài của Bác Quá hay ứng dụng thực tế rất nhiều ạ
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ em chạy được rồi anh à. mà hình như không cần tạo tiêu đề chỉ cần tạo bảng là chạy ngon anh à
Bạn xem cái video tôi hướng dẫn.
Cái dòng tiêu đề trên cùng có dấu ngoặc vuông chỉ được tạo ra mục dích là để copy, chèn vào Word cho nhanh, copy xong thì xóa nó đi.
 
Upvote 0
Anh xem em test đi test lại phát hiện nếu xóa 1 ô dữ liệu hoặc để ô trống của dòng cần trộn thì báo lỗi này anh ạ
 

File đính kèm

  • XOAO.jpg
    XOAO.jpg
    89.9 KB · Đọc: 50
Upvote 0
Anh xem em test đi test lại phát hiện nếu xóa 1 ô dữ liệu hoặc để ô trống của dòng cần trộn thì báo lỗi này anh ạ
Bạn kiếm đoạn code như trong hình và thêm đúng code tô màu vàng là sẽ hết lỗi.
Nằm trong hàm: SearchReplaceText()

* Đã cập nhật bản sửa lỗi đề cập ở trên vào bài #1

Screen Shot 2022-07-06 at 15.12.15.png
 
Lần chỉnh sửa cuối:
Upvote 0
Xin mạn phép được đóng góp bài của Bác. Bác có thể bổ sung thêm chức năng tạo Foder theo họ tên hoặc theo cột nào tùy ý khi xuất ra như hình sau thì tuyệt
1657150019370.png
 
Upvote 0
Upvote 0
Sao bạn soap1234 sửa hết nội dung các bài hôm qua vậy? Chơi gì kỳ thế.

Code cần chỉnh lại mấy chỗ có hàm Dir(), vì gặp lỗi với tên Folder là tiếng Việt có dấu. Và chỗ ký tự [] nữa, chấp nhận hoặc bẫy lỗi gì đó.
 
Upvote 0
Lạc chủ để nên xóa đi để tránh phân tán bài của chủ post thôi
 
Upvote 0
Sao bạn soap1234 sửa hết nội dung các bài hôm qua vậy? Chơi gì kỳ thế.

Code cần chỉnh lại mấy chỗ có hàm Dir(), vì gặp lỗi với tên Folder là tiếng Việt có dấu. Và chỗ ký tự [] nữa, chấp nhận hoặc bẫy lỗi gì đó.
Bởi vậy tôi cứ thích là đặt tên Folder tiếng Việt không dấu đi để dùng hàm Dir() cho nó nhanh, khỏi phải khai báo FSO gì cả. Mà mọi người cứ thích là phải gõ đầy đủ dấu mới chịu.
 
Upvote 0
Đặt Forder tiếng việt có dấu là điều tối kỵ lắm . Bắc tập trung phát triển thêm 1 Inputbox nữa như bài #26 bác à
 
Upvote 0
Bởi vậy tôi cứ thích là đặt tên Folder tiếng Việt không dấu đi để dùng hàm Dir() cho nó nhanh, khỏi phải khai báo FSO gì cả. Mà mọi người cứ thích là phải gõ đầy đủ dấu mới chịu.

Thực ra chữ tiếng Việt có dấu chỉ là một phần nhỏ. Có nhiều dạng chữ viết nữa, ở nhiều phiên bản hệ điều hành Windows nữa.
Ở các doanh nghiệp FDI người ta gõ chữ Hàn, Nhật, Trung là hoàn toàn bình thường. Vấn đề đáng lưu ý chứ anh.


------

Đọc cái gì? Tôi theo dõi các bài hôm qua bạn khóc lóc kêu lỗi tùm lum? Mấy cái hình chụp cũng xóa hết rồi.
 
Upvote 0
Điêu khóc mô mà khóc. Tóm lại cứ theo mẫu anh ongke0711 mà làm cho chính xác và chuẩn
 
Upvote 0
Như thế này người ta mới gọi là điêu toa, bất nhất. Vẫn còn bằng chừng sờ sờ ra đó mà cãi bay biến được. Tài thật!


1657162758036.png


1657162808259.png
 
Upvote 0
Tóm lại cứ theo thiết kế của anh @ongke0711 chạy cho mượt chả thiết kế lung tung gì nữa. chạy hay trục trặc lắm
 
Upvote 0
Khiếp. Từ kêu la giờ chuyển sang nịnh ghê thế.
 
Upvote 0
Đã cập nhật file ở bài #1
------------------------------------------------
Cập nhật, sửa các lỗi như:
- Tên folder tiếng Việt có dấu.
- Chuỗi văn bản có ký tự xuống dòng.
- Không lưu đè file nếu trùng tên.
- Bẫy một số lỗi linh tinh khi thao tác

Còn vụ tạo Folder riêng thì rảnh sẽ thêm nhé.
 
Upvote 0
Không biết anh ongke0711 đã cập nhật vụ tạo Folder riêng chưa anh. Hóng quá anh à
 
Upvote 0
Chuyển thành addin đi anh
 
Upvote 0
Đã thêm phần tạo Folder riêng cho từng đối tượng (dòng) dữ liệu rồi nhé.
Cơ bản là đáp ứng nhu cầu chung đa số thôi, còn các nhu cầu riêng biệt nữa thì ứng dụng không đáp ứng được nhé.

CleanShot 2022-07-09 at 10.47.16@2x.jpg


Tải lại link bài #1
 
Upvote 0
Cảm ơn Bác đã cập nhật thêm phần tạo Foder
 
Upvote 0
Cảm ơn Bác Vậy.
 
Lần chỉnh sửa cuối:
Upvote 0
Đã thêm phần tạo Folder riêng cho từng đối tượng (dòng) dữ liệu rồi nhé.
Cơ bản là đáp ứng nhu cầu chung đa số thôi, còn các nhu cầu riêng biệt nữa thì ứng dụng không đáp ứng được nhé.

View attachment 278580


Tải lại link bài #1
Hi anh,
Về tạo folder thay vì tạo cho từng dòng dữ liệu anh có thể thay thế bằng tính năng tạo folder theo tên của một cột chỉ định (Có thể nhóm nhiều file kết quả lại nếu chung 1 nhóm) như tên của file được không anh. Theo em nhu cầu sử dụng thực tế sẽ cao hơn nhiều so với tạo từng dòng dữ liệu.
Ví dụ: 1 danh sách gồm 100 học sinh, chia làm 4 lớp, sẽ có cột tên học sinh và cột tên lớp. Như việc việc trộn danh sách giấy mời họp phụ huynh sẽ tự động nhóm lại theo thư mục của từng lớp. Như vậy sẽ tiện hơn phải chạy 4 lần trộn.
 
Upvote 0
Hi anh,
Về tạo folder thay vì tạo cho từng dòng dữ liệu anh có thể thay thế bằng tính năng tạo folder theo tên của một cột chỉ định (Có thể nhóm nhiều file kết quả lại nếu chung 1 nhóm) như tên của file được không anh. Theo em nhu cầu sử dụng thực tế sẽ cao hơn nhiều so với tạo từng dòng dữ liệu.
Ví dụ: 1 danh sách gồm 100 học sinh, chia làm 4 lớp, sẽ có cột tên học sinh và cột tên lớp. Như việc việc trộn danh sách giấy mời họp phụ huynh sẽ tự động nhóm lại theo thư mục của từng lớp. Như vậy sẽ tiện hơn phải chạy 4 lần trộn.
Số lần trộn là như nhau chỉ có tác vụ tạo Folder là nhiều hơn so với nhóm.

Tôi túm lại các yêu cầu như sau:
- Bạn Li hiệp sĩ: chống ghi đè nếu có mấy người trùng tên trong danh sách.
- Bạn Thuy2022: nếu in cùng trộn một lúc nhiều file Word cho cùng 1 đối tượng (1 dòng dữ liệu) thì gộp chung vào một folder cho dễ quản lý
- Bạn tieutuvodanh192: thì muốn gom các đối tượng cùng nhóm và tạo folder chung cho nhóm đó để lưu.
Nói chung ai cũng có nhu cầu hợp lý nhưng các bạn có suy nghĩ nếu gộp chung các yêu cầu đó lại (vì các bạn cũng sẽ gặp như vậy) thì giải thuật xử lý là như thế nào chưa?
Các bạn cùng đóng góp, nghĩ thử xem cách xử lý file, folder như thế nào để đáp ứng 3 yêu cầu trên nhé, hoặc đáp ứng 2/3 hoặc sẽ gặp những tình huống nào sẽ chạy không đúng nữa hoặc phải qui định như thế nào để chạy đúng.... :)
Tôi thì đã có giải pháp rồi nhưng có thể chưa đầy đủ, chờ các góp ý của các bạn.
 
Upvote 0
Ý kiến cá nhân em. Phần trùng tên tạo hộp thông báo có ghi đè hay ko. Thứa 2 phần gom đối tượng thì ta lọc ra và xuất thui Vì đã có chức năng bỏ qua dòng ẩn
 
Upvote 0
Tạo cái thông báo như anh soap1234 cỏ vẻ ổn anh à
Bài đã được tự động gộp:

Tạo cái thông báo như anh soap1234 cỏ vẻ ổn anh à
 
Upvote 0
Số lần trộn là như nhau chỉ có tác vụ tạo Folder là nhiều hơn so với nhóm.

Tôi túm lại các yêu cầu như sau:
- Bạn Li hiệp sĩ: chống ghi đè nếu có mấy người trùng tên trong danh sách.
- Bạn Thuy2022: nếu in cùng trộn một lúc nhiều file Word cho cùng 1 đối tượng (1 dòng dữ liệu) thì gộp chung vào một folder cho dễ quản lý
- Bạn tieutuvodanh192: thì muốn gom các đối tượng cùng nhóm và tạo folder chung cho nhóm đó để lưu.
Nói chung ai cũng có nhu cầu hợp lý nhưng các bạn có suy nghĩ nếu gộp chung các yêu cầu đó lại (vì các bạn cũng sẽ gặp như vậy) thì giải thuật xử lý là như thế nào chưa?
Các bạn cùng đóng góp, nghĩ thử xem cách xử lý file, folder như thế nào để đáp ứng 3 yêu cầu trên nhé, hoặc đáp ứng 2/3 hoặc sẽ gặp những tình huống nào sẽ chạy không đúng nữa hoặc phải qui định như thế nào để chạy đúng.... :)
Tôi thì đã có giải pháp rồi nhưng có thể chưa đầy đủ, chờ các góp ý của các bạn.

Hi anh,
Không biết ý em như bên dưới có thiếu sót gì không :D

1/ chống ghi đè nếu có mấy người trùng tên trong danh sách. -> Lưu tên file đâu nhất thiết phải sử dụng cột tên, lấy cột khác có ký hiệu phân biệt là được mà.

2/ nếu in cùng trộn một lúc nhiều file Word cho cùng 1 đối tượng (1 dòng dữ liệu) thì gộp chung vào một folder cho dễ quản lý
3/ thì muốn gom các đối tượng cùng nhóm và tạo folder chung cho nhóm đó để lưu.
=> 2 yêu cầu này gộp chung được mà, nếu muốn lưu file trong 1 folder nào đấy thì tạo mới (nếu chưa có folder đó) hoặc ghi file vào folder, folder được xác định theo 1 cột như cột tên file.

Em thì chưa có nhu cầu sử dụng file của anh nhiều, tuy nhiên em có share file cho mấy bạn làm ở trường học, đợt rồi phát giấy mời tổng kết cho gần 1700 cháu, đỡ được rất nhiều thời gian. Qua sử dụng thì các bạn thấy có báo lại em nếu chia theo lớp luôn thì quá ok luôn anh.
 
Upvote 0
Đã thêm phần tạo Folder riêng cho từng đối tượng (dòng) dữ liệu rồi nhé.
Cơ bản là đáp ứng nhu cầu chung đa số thôi, còn các nhu cầu riêng biệt nữa thì ứng dụng không đáp ứng được nhé.

View attachment 278580


Tải lại link bài #1
E có 1 file trộn Như thế này ạ giờ muốn trộn với file demo như A tạo. Vậy trong file excle cần thay đổi hay sửa gì để khi trộn thì: 1. mục "Thời gian hưởng từ ngày....... đến ngày......." theo tổng số tháng hưởng phía trên ạ.
2. Phần phụ lục thông báo, các ngày thông báo được tính và thiết kế như thế nào để nhảy từ ngày hưởng đến các tháng tiếp theo nhưng vẫn trừ thứ 7, chủ nhật và nghỉ lễ ạ.
E đã tìm hiều và cũng áp dụng hàm WORKDAY.INTL nhưng vẫn bị sai.
E xin cảm ơn ạ
 

File đính kèm

Upvote 0
E có 1 file trộn Như thế này ạ giờ muốn trộn với file demo như A tạo. Vậy trong file excle cần thay đổi hay sửa gì để khi trộn thì: 1. mục "Thời gian hưởng từ ngày....... đến ngày......." theo tổng số tháng hưởng phía trên ạ.
2. Phần phụ lục thông báo, các ngày thông báo được tính và thiết kế như thế nào để nhảy từ ngày hưởng đến các tháng tiếp theo nhưng vẫn trừ thứ 7, chủ nhật và nghỉ lễ ạ.
E đã tìm hiều và cũng áp dụng hàm WORKDAY.INTL nhưng vẫn bị sai.
Bạn nên nhớ rằng bảng dữ liệu để trộn là bảng dữ liệu cuối cùng để chuyển qua file Word. Còn làm như thế nào để có những dữ liệu cuối cùng đó thì bạn phải xử lý trước trong Excel rồi chứ. Các mục 1, 2 bạn hỏi thì bạn phải đưa file Excel lên, tổ chức xây dựng bảng dữ liệu như thế nào, kết quả mong muốn như thế nào rồi thuần túy xử lý bảng tính chứ không liên quan gì đến việc trộn.
Việc tính các ngày làm việc trừ ngày nghỉ, lễ đã có nhiều bài viết trên GPE rồi, bạn chịu khó với nút tìm kiếm góc trên, bên phải nhé.
 
Upvote 1
Bạn nên nhớ rằng bảng dữ liệu để trộn là bảng dữ liệu cuối cùng để chuyển qua file Word. Còn làm như thế nào để có những dữ liệu cuối cùng đó thì bạn phải xử lý trước trong Excel rồi chứ. Các mục 1, 2 bạn hỏi thì bạn phải đưa file Excel lên, tổ chức xây dựng bảng dữ liệu như thế nào, kết quả mong muốn như thế nào rồi thuần túy xử lý bảng tính chứ không liên quan gì đến việc trộn.
Việc tính các ngày làm việc trừ ngày nghỉ, lễ đã có nhiều bài viết trên GPE rồi, bạn chịu khó với nút tìm kiếm góc trên, bên phải nhé.
Dạ. Cảm ơn A rất nhiều ạ. E xin phép gửi file để nhờ hỗ trợ ạ. Các nội dung trong file cần hỗ trợ E có comment ạ. và các mục trong phần 1a đến 12b ngoài việc lập công thức để xử lý thì có cách nào để nhảy theo số tháng hưởng được ko ạ?
E chân thành cảm ơn!
 

File đính kèm

Upvote 0
Dạ. Cảm ơn A rất nhiều ạ. E xin phép gửi file để nhờ hỗ trợ ạ. Các nội dung trong file cần hỗ trợ E có comment ạ. và các mục trong phần 1a đến 12b ngoài việc lập công thức để xử lý thì có cách nào để nhảy theo số tháng hưởng được ko ạ?
Công thức Excel, tôi tệ lắm, hơn nữa tôi cũng không hiểu ý nghĩa các cột 1a - 12b là cái gì, làm sao tính ra được, tôi đọc công thức thì không hiểu gì cả nhé bạn. Bạn giải thích cho rõ vì không phải ai cũng hiểu được công việc, cách tính toán của bạn qua cái bảng tính này. Nhờ các bạn khác hỗ trợ giùm thôi. Tốt nhất là lập cái chủ đề khác liên quan đến xử lý công thức, tính toán cho file Excel của bạn.
 
Upvote 0
Công thức Excel, tôi tệ lắm, hơn nữa tôi cũng không hiểu ý nghĩa các cột 1a - 12b là cái gì, làm sao tính ra được, tôi đọc công thức thì không hiểu gì cả nhé bạn. Bạn giải thích cho rõ vì không phải ai cũng hiểu được công việc, cách tính toán của bạn qua cái bảng tính này. Nhờ các bạn khác hỗ trợ giùm thôi. Tốt nhất là lập cái chủ đề khác liên quan đến xử lý công thức, tính toán cho file Excel của bạn.
Dạ E cảm ơn A nhiều ạ
Bài đã được tự động gộp:

Dạ E cảm ơn A nhiều ạ
Vậy VBA có code như thế nào để các cột 1a đến 12b vòng lặp trên điều kiện số tháng nhất định ko ạ? Vì khi trộn vb thì bạn hưởng 3 tháng nhưng mặc định khi trộn vẫn chạy hết từ 1a đến 12b. Trong khi chỉ có chạy đến 3b thôi ạ
 
Upvote 0
(Xin phép được tách bài từ bài post của bác Maika8008 (Link) để tránh lẫn lộn khi trao đổi và do cũng tài lanh xen vào, gây loãng bài của bác ấy).


Trộn dữ liệu từ Excel sang Word
-------------------------------------------------------------------------------------------

Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word.
Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc.

* Các chức năng:
- Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản.
- Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng.
- Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name.
- Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu.
- Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự.
- Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp).
- Xuất file dạng .Docx, .PDF


Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé.
Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge.

(*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này.

Mã:
wdocSource.MailMerge.OpenDataSource...

Y9SHro3.png


e7fmRBR.png


Hướng dẫn sử dụng trong video.


* Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office.

Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
Chào bạn. Trước hết rất cám ơn bạn vì đã chia sẻ. Cho mình hỏi mình chỉ muốn trộn các file có tên trong cột "Nội dung" theo từng hàng. Tức là mỗi file trộn với hàng tương ứng với cột nội dung. Ở đây mình lấy ví dụ có 2 file Tờ trình xin phê duyệt chủ trương và Báo cáo đề xuất chủ trương. Mình chỉ muốn trộn ra 2 file tương ứng đó
 

File đính kèm

Upvote 0
cảm ơn bác rất nhiều, ứng dụng rất hữu ích.

Tuy nhiên đối với trường hợp em đang ứng dụng thì số cột tiêu đề cần điền là khá nhiều (35 cột). Vậy có cách nào điều chỉnh theo dạng tiêu đề đặt theo dòng không ạ. Nếu được bác giúp thêm em vụ này ạ
Kiểu như này ạ
Tiêu đềNội dung cần điền
Người lập biên bảnTrần Thị Lý
Số biên bản01/BB-VPHC
Ngày tháng thời gian lập biên bản10h00 ngày 01/01/2022
Địa điểm lập biên bảnPhòng Quản lý Công sản, Giá và Tài chính Doanh nghiệp, Sở Tài chính Bắc Kạn
Tên đối tượngCông ty TNHH MTV Xổ số kiến thiết tỉnh Bắc Kạn
Địa chỉSố 314, Đường Võ Nguyên Giáp, Tổ 1A, phường Phùng Chí Kiên, thành phố Bắc Kạn, tỉnh Bắc Kạn
MST
4700213346​
QĐ thành lập1180/QĐ-UBND ngày 04/7/2011 của UBND tỉnh Bắc Kạn.
Người đại diệnBà Đinh Thị Ven
Chức danhChủ tịch kiêm Giám đốc
Tổ chức/Cá nhânTổ chức
Hành vi 1Chứng từ kế toán không đủ chữ ký theo chức danh quy định trên chứng từ
QĐ 1Điểm đ, Khoản 2 Điều 8, Nghị định số 41/2018/NĐ-CP ngày 12/3/2018 của Chính phủ quy định xử phạt vi phạm hành chính trong lĩnh vực kế toán, kiểm toán độc lập.
 
Upvote 0
cảm ơn bác rất nhiều, ứng dụng rất hữu ích.

Tuy nhiên đối với trường hợp em đang ứng dụng thì số cột tiêu đề cần điền là khá nhiều (35 cột). Vậy có cách nào điều chỉnh theo dạng tiêu đề đặt theo dòng không ạ. Nếu được bác giúp thêm em vụ này ạ
Kiểu như này ạ
Tiêu đềNội dung cần điền
Người lập biên bảnTrần Thị Lý
Số biên bản01/BB-VPHC
Ngày tháng thời gian lập biên bản10h00 ngày 01/01/2022
Địa điểm lập biên bảnPhòng Quản lý Công sản, Giá và Tài chính Doanh nghiệp, Sở Tài chính Bắc Kạn
Tên đối tượngCông ty TNHH MTV Xổ số kiến thiết tỉnh Bắc Kạn
Địa chỉSố 314, Đường Võ Nguyên Giáp, Tổ 1A, phường Phùng Chí Kiên, thành phố Bắc Kạn, tỉnh Bắc Kạn
MST
4700213346​
QĐ thành lập1180/QĐ-UBND ngày 04/7/2011 của UBND tỉnh Bắc Kạn.
Người đại diệnBà Đinh Thị Ven
Chức danhChủ tịch kiêm Giám đốc
Tổ chức/Cá nhânTổ chức
Hành vi 1Chứng từ kế toán không đủ chữ ký theo chức danh quy định trên chứng từ
QĐ 1Điểm đ, Khoản 2 Điều 8, Nghị định số 41/2018/NĐ-CP ngày 12/3/2018 của Chính phủ quy định xử phạt vi phạm hành chính trong lĩnh vực kế toán, kiểm toán độc lập.
Sửa code lại từ cột thành dòng
 
Upvote 0
vâng em cũng đang mày mò, quan trọng là không phải code của mình nên mò hơi lâu và vẫn chưa ổn. hì hì
 
Upvote 0
(Xin phép được tách bài từ bài post của bác Maika8008 (Link) để tránh lẫn lộn khi trao đổi và do cũng tài lanh xen vào, gây loãng bài của bác ấy).


Trộn dữ liệu từ Excel sang Word
-------------------------------------------------------------------------------------------

Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word.
Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc.

* Các chức năng:
- Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản.
- Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng.
- Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name.
- Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu.
- Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự.
- Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp).
- Xuất file dạng .Docx, .PDF


Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé.
Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge.

(*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này.

Mã:
wdocSource.MailMerge.OpenDataSource...

Y9SHro3.png


e7fmRBR.png


Hướng dẫn sử dụng trong video.


* Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office.

Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
File word của em có ba bảng. Hướng dẫn giúp em cách trộn được`
(Xin phép được tách bài từ bài post của bác Maika8008 (Link) để tránh lẫn lộn khi trao đổi và do cũng tài lanh xen vào, gây loãng bài của bác ấy).


Trộn dữ liệu từ Excel sang Word
-------------------------------------------------------------------------------------------

Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word.
Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc.

* Các chức năng:
- Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản.
- Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng.
- Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name.
- Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu.
- Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự.
- Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp).
- Xuất file dạng .Docx, .PDF


Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé.
Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge.

(*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này.

Mã:
wdocSource.MailMerge.OpenDataSource...

Y9SHro3.png


e7fmRBR.png


Hướng dẫn sử dụng trong video.


* Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office.

Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
Cho em hỏi. Trong file word của em có ba vùng dữ liệu. Hướng dẫn giúp em cách làm. Em cảm ơn
 

File đính kèm

Upvote 0
mọi người cho em hỏi, em muốn thay đổi định dạng, ví dụ, viết thường và viết hoa, hay ngày tháng dạng dd/mm/yyyy và ngày/tháng/năm được không ạ?
 
Upvote 0
em thử mãi chưa được nên em lên đây hỏi, google đủ kiểu mà chưa được ạ
Trộn ngày tháng dạng dd/mm/yyyy mắc gì mà không được. Chứ bạn trộn dạng đó thì khi vào Word nó hiện ra kiểu gì?

Còn định dạng Ngày/Tháng/Năm là cái kiểu định dạng gì mà tôi chưa gặp bao giờ? Bạn cho ví dụ xem nó như thế nào!
 
Upvote 0
Trộn ngày tháng dạng dd/mm/yyyy mắc gì mà không được. Chứ bạn trộn dạng đó thì khi vào Word nó hiện ra kiểu gì?

Còn định dạng Ngày/Tháng/Năm là cái kiểu định dạng gì mà tôi chưa gặp bao giờ? Bạn cho ví dụ xem nó như thế nào!
dạ, xin lỗi chắc em diễn đạt chưa tốt ạ, ý em là ở bảng excel mình đang để dạng dd/mm/yyyy, muốn ra bản word nó hiện dạng ngày dd, tháng mm, năm yyyy.
nếu mailings thì em biết, nhưng theo mẫu bác ongke0711 thì em chưa làm được ạ.
 
Upvote 0
dạ, xin lỗi chắc em diễn đạt chưa tốt ạ, ý em là ở bảng excel mình đang để dạng dd/mm/yyyy, muốn ra bản word nó hiện dạng ngày dd, tháng mm, năm yyyy.
nếu mailings thì em biết, nhưng theo mẫu bác ongke0711 thì em chưa làm được ạ.
Gợi ý: với dữ liệu Excel bạn thêm 3 cột Ngày, Tháng, Năm với các hàm Day, Month, Year cho cột có dd/mm/yyyy nào đó.
 
Upvote 0
Bác @ongke0711 cho em hỏi, em muốn trộng nhiều file word vào các Sheet khác nhau, các sheet đó nằm ở các file excel khác nhau thì cái này có làm được không ạ? (vì hệ thống phần mềm bên em xuất ra các file excel định dạng khác nhau ạ) Em đội ơn bác ạ.
 
Upvote 0
Bác @ongke0711 cho em hỏi, em muốn trộng nhiều file word vào các Sheet khác nhau, các sheet đó nằm ở các file excel khác nhau thì cái này có làm được không ạ? (vì hệ thống phần mềm bên em xuất ra các file excel định dạng khác nhau ạ) Em đội ơn bác ạ.
Trộn nhiều sheet Excel vào file Word chứ.
Khi trộn file, nó có nhiều tùy biến, phải có những tùy chọn thủ công nên khó có thể thiết kế theo yêu cầu của bạn. Còn việc nhiều sheet khác nhau, nằm ở các file khác nhau thì bạn xem lại cách xây dựng, trích xuất dữ liệu để nó có thể hợp nhất thành 1 file rồi ứng dụng các phần mềm để trộn, chứ khó mà thiết kế ứng dụng đi theo cơ sở dữ liệu lộn xộn được.
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới
loi 1.pngloi 2.png
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới
View attachment 287499View attachment 287500
những cái cần thay hình như phải giống hệt tên cột ví dụ tiêu đề cột có tên là [[Tên DN]] thì trong file word từ cần thay cũng phải là [[Tên DN]]
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới

File gốc của tôi ở dòng tiêu đề tôi không thêm dấu ngoặc vuông [...] và khi code tạo dòng tiêu đề sẽ tự động thêm một dấu ngoặc vuông. Bên file Word cũng chỉ dùng một dấu [...] cho nó tương đồng.
File của bạn thì Excel dùng 2 dấu [...], còn bên Word thì dùng 1 dấu [...] nên nó không tìm thấy nhau thôi.

Screen Shot 2023-03-12 at 15.50.36.png. Screen Shot 2023-03-12 at 15.50.57.png


File của tôi:

Screen Shot 2023-03-12 at 15.54.36.png
 
Lần chỉnh sửa cuối:
Upvote 0
Bác cho em hỏi khi chèn hình ảnh thì có cần làm gì nữa không, em chèn mà chỉ được thay được cái đường dẫn
 
Upvote 0
Thêm chức năng trộn nhiều dòng cùng lúc được không ạ.Ví dụ trộn biên bản giao hàng, có kèm list vật tư kèm theo
 
Upvote 0
Dạ. Thêm kèm zô addin này được không a. Chứ bình thường toàn phải trộn xong rồi zô từng trang đã trộn nhập tay lại
Trường hợp của bạn đặc thù thì phải viết code riêng cho nó chứ không đưa vô cái tool dùng chung của tôi ở trên được.
 
Upvote 0
ongke0711 cho em hỏi là mình chọn cái đường dẫn đến folder. Thay vì mình vào thư mục con ví dụ ạ C:\Users\X\Downloads\Compressed\Vanbantron thì mình có thể nhập C:\Users\ mà nó vẫn load tất cả tên file trong thư mục được không ạ. EM cảm ơn ạ.
 
Upvote 0
ongke0711 cho em hỏi là mình chọn cái đường dẫn đến folder. Thay vì mình vào thư mục con ví dụ ạ C:\Users\X\Downloads\Compressed\Vanbantron thì mình có thể nhập C:\Users\ mà nó vẫn load tất cả tên file trong thư mục được không ạ. EM cảm ơn ạ.
Nó sẽ hiển thị các file trong cái folder \Users (không bao gồm sub Folder của nó). Cái đường dẫn trong file demo bạn có thể tùy chọn lại đường dẫn khác được đó.
 
Upvote 0
Ý em là dạng sub Folder đó ạ.
Theo tôi nghĩ thì bác không nên chơi dại thế. Việc chạy cả folder con có thể làm được, nhưng điều này dễ khiến cho máy bác treo luôn vì bản chất của tool là sẽ mở file word lên và tìm từng cột, từng hàng trong bảng excel để thay thế. Để nó quét toàn bộ folder cha như thế nó quét cả những file không liên quan
 
Upvote 0
Ý em là dạng sub Folder đó ạ.
Bạn phải tổ chức quản lý file, thư mục cho nó hợp lý, dễ tìm kiếm chứ. Thư mục nào lưu trữ văn bản cần trộn cho công việc thì cũng phải có chứ chẳng lẻ bạn lưu lung tung rồi bât ứng dụng dùng AI để tìm văn bản nào cần trộn?
 
Upvote 0

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

Back
Top Bottom