Soạn thảo văn bản Word từ Excel

Liên hệ QC

TrungChinhs

Thành viên tích cực
Tham gia
18/2/08
Bài viết
1,475
Được thích
2,467
Nghề nghiệp
Công chức
Trong khi soạn thảo văn bản trên Word nhiều khi ta mơ ước nó liên kết được với dữ liệu có sẵn từ Excel. Mặc dù trên Word có sẵn chức năng này nhưng không phải ai cũng biết; mà có biết thì cũng ngại sử dụng vì nó tương đối phức tạp và chạy rất ì ạch...

Từ những kiến thức học được trên GPE tôi làm một file Excel để hỗ trợ soạn thảo văn bản soạn thảo trên Word. Qua sử dụng thấy rất hiệu quả nên Post lên chia xẻ với các bạn coi như là một món quà mừng sinh nhật GPE lần thứ 7.

Hướng dẫn sử dụng:
1. Tải về một thư mục nào đó (tùy ý).

2. Trong thư mục này có File Word mẫu ví dụ là "To trinh thu hoi dat" (mọi chỉnh sửa đều phải thực hiện trên file mẫu này).

3. Trong thư mục này có File DaTa Exel - Word File này là dùng để soạn thảo các nội dung cần chèn vào File Word mẫu để tạo nên file văn bản mà bạn mong muốn.

4. File văn bản sẽ được tự động tạo ra trong thư mục chữa file mẫu. File mẫu là tên file nằm ở dòng đầu tiên của cột C (trong ví dụ có 2 File, muốn tạo file theo mẫu nào thì bạn copy dòng đó dán lên trên). Tên file tạo ra là tên ở dòng đầu tiên của cột.

5. Khi muốn tạo 1 file văn bản nào thì bạn đặt con trỏ vào cột chứa nội dung của văn bản đó và nhấn Ctrl + W

6. Khi muốn muốn tạo nhiều văn bản (theo số cột có dữ liệu) thì bạn đặt con trỏ vào cột C và nhấn Ctrl + W

Cái này thích hợp với việc soạn thảo văn bản theo đề cương, theo mẫu và sản xuất hàng loạt như soạn thảo hợp đồng, biên bản nghiệm thu, báo cáo tuần, tháng...

Bạn quan sát kỹ File Word mẫu và dữ liệu các cột bên Exel để vận dụng vào tình huống cụ thể của bạn.

P/s Trường hợp không muốn lấy số lẻ sau dấu phảy (vd muốn 20 thay vì 20,0) hoặc không muốn dấu phân cách (vd 1000 thay vì 1.000) thì các bạn nhập thêm dấu gạch dưới trước dữ liệu để biến thành dạng Text (Vd _20 hoặc _1000)

Lúc đầu thì thấy hơi rắc rối nhưng bạn cứ thử xem. Khi đã biết cách làm thì bạn sẽ thấy nó lợi hại như thế nào ?


Chúc các bạn thành công và đạt hiệu quả cao trong công việc.
 

File đính kèm

  • Word - Excel _4713.rar
    26.8 KB · Đọc: 2,066
Lần chỉnh sửa cuối:
Chào cả nhà
Đề tài này hay quá nhưng xin cho em hỏi thêm tý
Nếu trong file word cần chèn vào một bảng tính đã tính bên excell thì sửa code như thế nào
(p/s: bảng excell thì không xác định được dòng, có lúc 5 dòng nhưng có lúc nhiều hơn)
Em đã làm nhiều cách hướng dẫn giaiphapexcell nhưng khi số dòng từ nhiều giảm xuống ít thì
trong báo cáo có khoảng trắng
 
Upvote 0
Phiên bản năm 2015 (SOAN THAO EW) có thể in hàng loạt được như phiên bản trước không Bác TrungChinhs
 
Upvote 0
Cao nhân nào có thể chuyển thành làm theo hàng dọc giúp em được không ạ%#^#$
 
Upvote 0
Chào bác trungchinhs!
Chúc bác ngày cuối tuần thật vui vẻ, hạnh phúc
Cháu đang làm công việc có nhiều mẫu word cháu cũng nghiên cứu về phiên bản 2015 của bác nhưng do phiên bản này chỉ tạo đươc 1 mẫu biểu duy nhất nên cháu đành nghiên cứu phiên bản củ của bác, nhưng do hiểu biết về VBA của cháu chưa sâu nên cháu có 2 file excel và word gửi kèm theo mong bác giúp cháu tạo code VBA đưa dữ liệu từ excel vào word theo phiên bản củ của bác lúc trước, bác giúp cháu tạo code khi bấm vào nút lệnh In mẫu thì sẽ mở form, bấm vào nút lệnh Hợp đồng thuê thì chương trình đưa dữ liệu từ excel vào word và show lên màn hình.
Mong bác giúp đỡ
Chân thành cảm ơn bác!

huyrua

Tôi đoán không nhầm anh đang làm bộ sơ tín dụng cho khách hàng phải không ? Hồ sơ có nhiều mẫu biểu word... Tôi là người mới, nói không biết đúng không nhưng cũng góp một ý, anh có thể tạo một file gốc chứa các mẫu trên nhiều trang.

Tôi cũng mới lọ mọ vụ này... Có gì hỏi anh em ở đây thêm.
 
Upvote 0
Soạn thảo văn bản Word từ Excel Phiên bản mới 2015-3

Trước hết xin cảm ơn tất cả các bạn đã quan tâm tới chủ đề này. Phiên bản mới này Tôi đã viết gọn lại (bỏ Sheets trung gian Data In); thêm phần tự động chuyển Key vào Data và đọc số bằng chữ; hiệu chỉnh phần hướng dẫn sử dụng; File ví dụ phức tạp hơn... Xét thấy việc in nhiều file cùng một lúc ít xảy ra nên Tôi đã bỏ chức năng này và bổ sung lựa chọn in ngay hoặc in sau.

Hiện tại cơ quan Tôi đang ứng dụng vào soạn thảo văn bản của nhiều lĩnh vực như Báo cáo định kỳ, Tờ trình, Hợp đồng và hầu hết các văn bản thuộc lĩnh vực đầu tư xây dựng. Việc ứng dụng chương trình này không những nâng cao năng suất, chất lượng soạn thảo văn bản mà còn giúp cho người sử dụng quản lý tốt dữ liệu (Data) một cách hệ thống, khoa học.

Do kiến thức về VBA có hạn, vừa học vừa viết thử nên code còn tùy tiện, chắp vá (cũng chẳng biết thế nào là tối ưu) vì vậy các bạn có thể sửa lại cho phù hợp với công việc của mình. Chúc các bạn thành công !
 

File đính kèm

  • Word-Excel 2015-3.rar
    89.5 KB · Đọc: 421
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bác chủ :D
cho em hỏi, khi nhấp đúp vào [key] hiện ra "0 đồng" có phải bị lỗi không
em không biết về VBA, bác chủ cho em hỏi nâng cấp File_Mau lên docx có khác gì nhiều không
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn những chia sẻ hữu ích của bác Trungchinhs, em đang cố tìm hiểu để chỉnh sửa phù hợp với công việc mình cần. Hiện tại em đang nghiên cứu thêm bài giảng của ĐT Nguyên về việc soạn thảo văn bản word từ excel tại https://www.youtube.com/watch?v=LEalus-vqlU&list=PLALCv46JuKELXd5Ie81UqaFqAfsoXQSQt&index=15
Nhờ các bác giúp em sửa code trong file ví dụ dưới đây để khi xuất file word từ excel ra thành 01 file word chứ không phải nhiều file word. Vì giả sử số lượng nhiều hơn chứ không phải là 6 như trong file thì sẽ rất bất tiện trong việc quản lý và in ấn. Cảm ơn các bác nhiều
 

File đính kèm

  • Soan van ban word tu Excel.zip
    383.6 KB · Đọc: 87
Upvote 0
Theo dõi từ trang 1 đến trang 7, mày mò cả tối lẫn đêm... giờ đến chiều nay thì thử nghiệm mãi cũng làm được ngòn lành trọn vẹn theo những gì mình muốn trên win 10 + office 13.

Thật hữu ích, và đúng là thứ cháu đang tìm kiếm bấy lâu nay. Sướng rơi nước mắt.

Thầm cảm ơn Bác Trungchinhs nhiều, Không biết lấy gì hậu tạ. Kính chúc bác mạnh Khỏe Hạnh Phúc.

 
Upvote 0
Gửi bác TrungChinhs: Phiên bản mới 2015-3 em thấy nếu để dữ liệu là số (ví dụ 300,000 ở sheet Data Excel) thì khi xuất file word sẽ chỉ là chuỗi 300000 (không có dấu tách hàng).
Bác chỉ giúp em cách xuất file word vẫn có dấu tách hàng với ạ.

(Trong ví dụ của bác, em thấy đang để data là 300,000 đồng . Nhưng em làm nhiều với số liệu, chỉ muốn copy từ bảng tính vào data luôn thôi chứ không muốn ngồi sửa đánh dấu từng số thế nữa ạ)
Cám ơn bác! /-*+/
 
Upvote 0
Chào các bác.
Em cũng nghiên cứu kỹ lắm nhưng vẫn chưa hiểu để áp dụng sang cái mình mong muốn được. Mong các bác giúp em.
 

File đính kèm

  • Documents.rar
    12.8 KB · Đọc: 19
Upvote 0
Chào các bác, đề tài này quá hữu ích với một người hay phải nhiều soạn nhiều mẫu hợp đồng khác nhau từ một nguồn dữ liệu như em, mỗi tội em lại không biết gì về excel mấy.
Các bác cho em hỏi làm sao để sửa đc cái file ban đầu mặc định không lấy số thập phân ấy, em soạn hợp đồng chẳng hạn để 600,000 nó lại ra 600,000.0, mà dùng _600,000 thì nớ lại ra 600000 +-+-+-+
 
Upvote 0
Chào bác, em muốn khi em nhấn CTRL + SHIFT + W thì nó sẽ tự động in hết tất cả các văn bản theo từng tên được set chứ không phải in người nào thì chọn người đó.
Công việc của em làm bên công chứng, mỗi cuối tuần là phải lưu danh mục hồ sơ 1 với số lượng rất khổng lồ, nên em muốn nhập 1 lần sau đó bấm là nó tạo hết các file ra, sau đó em sẽ chọn để in sau
 
Upvote 0
Của em thì bị lỗi như thế này, ở cột số thứ tự, em để từ "02-11" thì dù đã chọn text nhưng khi xuất file nó lại hiểu là định dạng ngày tháng :(
Các bác có thể xem file xuất là Lê Thị Minh Nguyệt.doc
 

File đính kèm

  • File_Mau.doc
    62.5 KB · Đọc: 1
  • File_Goc.doc
    60.5 KB · Đọc: 1
  • Excel_19-6-2015.xls
    438.5 KB · Đọc: 4
  • Lê Thị Minh Nguyệt.doc
    59 KB · Đọc: 6
  • Font - DocSo_Vba_Unicode_Chinh.xls
    49 KB · Đọc: 1
Upvote 0
Soạn thảo văn bản Word từ Excel Phiên bản mới 2015-3

Trước hết xin cảm ơn tất cả các bạn đã quan tâm tới chủ đề này. Phiên bản mới này Tôi đã viết gọn lại (bỏ Sheets trung gian Data In); thêm phần tự động chuyển Key vào Data và đọc số bằng chữ; hiệu chỉnh phần hướng dẫn sử dụng; File ví dụ phức tạp hơn... Xét thấy việc in nhiều file cùng một lúc ít xảy ra nên Tôi đã bỏ chức năng này và bổ sung lựa chọn in ngay hoặc in sau.

Hiện tại cơ quan Tôi đang ứng dụng vào soạn thảo văn bản của nhiều lĩnh vực như Báo cáo định kỳ, Tờ trình, Hợp đồng và hầu hết các văn bản thuộc lĩnh vực đầu tư xây dựng. Việc ứng dụng chương trình này không những nâng cao năng suất, chất lượng soạn thảo văn bản mà còn giúp cho người sử dụng quản lý tốt dữ liệu (Data) một cách hệ thống, khoa học.

Do kiến thức về VBA có hạn, vừa học vừa viết thử nên code còn tùy tiện, chắp vá (cũng chẳng biết thế nào là tối ưu) vì vậy các bạn có thể sửa lại cho phù hợp với công việc của mình. Chúc các bạn thành công !
Bạn có thể làm 1 clip hướng dẫn cách sử dụng cụ thể trên Youtube được không? Mọi người sẽ ủng hộ hết mình
 
Upvote 0
Nhân tiện đây cho mình hỏi chút

upload_2017-11-10_10-29-12.png

.SaveAs Filename:=ThisWorkbook.Path & Application.PathSeparator & i & ".docx"

thay mình muốn thay đổi đoạn code này một chút vì biến i ( file new word sẽ gì tên là số thứ tự 1 2 3 4 )
giờ muốn đổi code này để lưu tên file mới tương ứng với tên trong thiệp mời ( vi dụ như Việt , Năm .....)

vậy phải sửa code như thế nào nhỉ
Các Pro giúp em với
 

File đính kèm

  • upload_2017-11-10_10-35-23.png
    upload_2017-11-10_10-35-23.png
    1.6 KB · Đọc: 6
  • Book1.xlsm
    23 KB · Đọc: 5
  • dam_cuoi.docx
    370.3 KB · Đọc: 5
Upvote 0
huyrua

Tôi đoán không nhầm anh đang làm bộ sơ tín dụng cho khách hàng phải không ? Hồ sơ có nhiều mẫu biểu word... Tôi là người mới, nói không biết đúng không nhưng cũng góp một ý, anh có thể tạo một file gốc chứa các mẫu trên nhiều trang.

Tôi cũng mới lọ mọ vụ này... Có gì hỏi anh em ở đây thêm.
Trường hợp dòng thay thế >255 ký tự bị lỗi. Nhờ các bạn sửa giúp
 
Upvote 0
Các bro giúp đỡ vụ này vứi ạ
Trường hợp dòng thay thế >255 ký tự bị lỗi. Nhờ các bạn sửa giúp
 
Upvote 0
Các anh giúp em vụ lỗi khi thay thế lớn hơn 255 ký tự với ạ. Đang cần gấp quá
 
Upvote 0
Mình muốn viết câu lệnh thực hiện như sau
Ctrl+A sau đó ấn phím F9
( để update dữ liệu của file word ) thì viết thế nào nhỉ
Nếu dùng Onkey
application.Onkey "^{A}{F9}"
cần khai báo gì nữa không nhỉ sao code không thực hiện
 
Upvote 0
hình như hàm Send Key nằm chỗ này á bạn:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then
Application.SendKeys "%{Down}"
End If
End Sub
 
Upvote 0
Web KT
Back
Top Bottom