Trộn (Merge) dữ liệu Excel vào Word bằng VBA, khắc phục lỗi định dạng đảo ngày tháng

Liên hệ QC

songmai

Thành viên chính thức
Tham gia
6/8/07
Bài viết
92
Được thích
36
Giới tính
Nam
Trộn dữ liệu Excel vào Word bằng Mail Merge hay bị lỗi về định dạng số và ngày tháng, đặc biệt là bị đảo ngược ngày với tháng, rất khó chịu vị mỗi máy mỗi khác, không có cách khắc phục chung.

Dùng VBA để trộn khắc phục được lỗi khó chịu trên, đã chạy là chắc ăn.

1. Đầu tiên bạn phải Bookmark trong file Word tại những chỗ cần chèn dữ liệu. Thao tác này nhanh hơn chuẩn bị Mail Merge nhiều.
2. Chuẩn bị dữ liệu cần điền ở file Excel
3. Chạy code để trộn.

Các bạn thử trên file mẫu của tôi, cần thiết thì bố trí lại dữ liệu theo kiểu table, đặt thêm vòng lặp để trộn hàng loạt record.
https://drive.google.com/file/d/0ByhkZTdjjPUIaVdyaDFCVFl4d0U/view?usp=sharing

https://drive.google.com/file/d/0ByhkZTdjjPUIT0ZJbGlQenhFYXc/view?usp=sharing
 

File đính kèm

  • ThongTin.xls
    33.5 KB · Đọc: 252
  • Phieu.doc
    35.5 KB · Đọc: 240
Lần chỉnh sửa cuối:
Trộn dữ liệu Excel vào Word bằng Mail Merge hay bị lỗi về định dạng số và ngày tháng, đặc biệt là bị đảo ngược ngày với tháng, rất khó chịu vị mỗi máy mỗi khác, không có cách khắc phục chung.

Dùng VBA để trộn khắc phục được lỗi khó chịu trên, đã chạy là chắc ăn.
Đã xài vba rồi mà còn kết hợp với Mail Merge của Word nữa. Thật là kỳ công!
 
Upvote 0
Đã xài vba rồi mà còn kết hợp với Mail Merge của Word nữa. Thật là kỳ công!
Mình làm cho người khác xài chứ không phải mình xài. Khi bạn phải làm IT cho người khác mà người ấy dính lỗi đảo ngược ngày tháng (dẫn đến VB trộn bị sai nghiêm trọng) thì bạn sẽ bị hành hạ suốt đời. Vậy để khắc phục hoàn toàn lỗi này không kỳ công không được.
 
Upvote 0
Mình làm cho người khác xài chứ không phải mình xài. Khi bạn phải làm IT cho người khác mà người ấy dính lỗi đảo ngược ngày tháng (dẫn đến VB trộn bị sai nghiêm trọng) thì bạn sẽ bị hành hạ suốt đời. Vậy để khắc phục hoàn toàn lỗi này không kỳ công không được.

Chỉ làm trên Excel được hông?
 
Upvote 0
Mấy cái văn bản dạng sử dụng table data như này em toàn làm trên excel cả, hoặc trên excel phần ngày tháng thêm một cột công thức text(day_value,"dd/mm/yyyy") là chắc cú luôn.
 
Upvote 0
Chỉ làm trên Excel được hông?
khanhhero đã viết:
Mấy cái văn bản dạng sử dụng table data như này em toàn làm trên excel cả, hoặc trên excel phần ngày tháng thêm một cột công thức text(day_value,"dd/mm/yyyy") là chắc cú luôn.
File của tôi chỉ mạng tính tượng trưng nên ngắn thế thôi. Còn trên thực tế nguyên một cái hợp đồng dài 6 - 7 trang thì để trên Excel rất khó thêm thắt, định dạng, buộc phải trộn từ CSDL vào Word.Trong công việc hàng ngày, nếu chỉ 1 trang, ít dữ liệu trộn thì tôi để thiết kế luôn trên Excel còn dài hơn và có khá nhiều dữ liệu trộn thì tôi ghi qua Word
 
Upvote 0
Trộn dữ liệu Excel vào Word bằng Mail Merge hay bị lỗi về định dạng số và ngày tháng, đặc biệt là bị đảo ngược ngày với tháng, rất khó chịu vị mỗi máy mỗi khác, không có cách khắc phục chung.

Dùng VBA để trộn khắc phục được lỗi khó chịu trên, đã chạy là chắc ăn.

1. Đầu tiên bạn phải Bookmark trong file Word tại những chỗ cần chèn dữ liệu. Thao tác này nhanh hơn chuẩn bị Mail Merge nhiều.
2. Chuẩn bị dữ liệu cần điền ở file Excel
3. Chạy code để trộn.

Các bạn thử trên file mẫu của tôi, cần thiết thì bố trí lại dữ liệu theo kiểu table, đặt thêm vòng lặp để trộn hàng loạt record.
https://drive.google.com/file/d/0ByhkZTdjjPUIaVdyaDFCVFl4d0U/view?usp=sharing

https://drive.google.com/file/d/0ByhkZTdjjPUIT0ZJbGlQenhFYXc/view?usp=sharing
code trên em làm bị lỗi, anh có thể giải thích rõ giúp em đc ko ạ
 
Upvote 0
Trộn dữ liệu Excel vào Word bằng Mail Merge hay bị lỗi về định dạng số và ngày tháng, đặc biệt là bị đảo ngược ngày với tháng, rất khó chịu vị mỗi máy mỗi khác, không có cách khắc phục chung.

Dùng VBA để trộn khắc phục được lỗi khó chịu trên, đã chạy là chắc ăn.

1. Đầu tiên bạn phải Bookmark trong file Word tại những chỗ cần chèn dữ liệu. Thao tác này nhanh hơn chuẩn bị Mail Merge nhiều.
2. Chuẩn bị dữ liệu cần điền ở file Excel
3. Chạy code để trộn.

Các bạn thử trên file mẫu của tôi, cần thiết thì bố trí lại dữ liệu theo kiểu table, đặt thêm vòng lặp để trộn hàng loạt record.
https://drive.google.com/file/d/0ByhkZTdjjPUIaVdyaDFCVFl4d0U/view?usp=sharing

https://drive.google.com/file/d/0ByhkZTdjjPUIT0ZJbGlQenhFYXc/view?usp=sharing
Có cách nào khi mình click vào thi hành thì tự file word load dữ liệu lên luôn không cần phải mỗi lần load là phải chọn vào đường dẫn không bạn. Thank bạn
 
Upvote 0
Bài này có liên quan một chút đến https://www.giaiphapexcel.com/diend...-lại-code-thay-thế-từ-excel-sang-word.142757/ , ko biết cao nhân nào fix đc lỗi quá 255 ký tự thì ko thay thế đc không
8 dòng đầu trong file nguồn excel đc định nghĩa cho kiểu dữ liệu của cả cột.
Nếu cột đó bạn muốn 1000 ký tự (hoặc hơn nữa) hãy định nghĩa cho 8 ô của 8 dòng đầu tiên cột đó, ví dụ 1000 chữ A chẳng hạn. Merge mail sẽ hiểu các dự liệu cột đó có nhiều hơn 255 ký tự.
Tương tự định dạng text, ngày tháng, số cũng vậy
 
Upvote 0
8 dòng đầu trong file nguồn excel đc định nghĩa cho kiểu dữ liệu của cả cột.
Nếu cột đó bạn muốn 1000 ký tự (hoặc hơn nữa) hãy định nghĩa cho 8 ô của 8 dòng đầu tiên cột đó, ví dụ 1000 chữ A chẳng hạn. Merge mail sẽ hiểu các dự liệu cột đó có nhiều hơn 255 ký tự.
Tương tự định dạng text, ngày tháng, số cũng vậy
ý là mình sẽ tạo 1 dòng làm nguồn với hơn 255 ký tự đúng không bạn.
 
Upvote 0
Web KT
Back
Top Bottom