Một số ví dụ về sao chép dữ liệu từ Excel sang Word bằng VBA
Đoạn mã dưới đây sẽ giúp bạn hiểu rõ hơn về sao chép dữ liệu từ Excel sang Word bằng VBA. Bạn hoàn toàn có thể sao chép một vùng dữ liệu Excel và dán nó vào tài liệu Word mới. Để sử dụng sau này, bạn hãy lưu tài liệu Word đó vào ổ đĩa.
'VBA Code To Write to Copy data from Excel to A Document
Sub ExcelToWord()
'Using Early Binding
Dim wordApp As Word.Application
Dim mydoc As Word.Document
'Creating a new instance of word only if there no other instances
Set wordApp = New Word.Application
'Making word App Visible
wordApp.Visible = True
'Creating a new document
Set mydoc = wordApp.Documents.Add()
'copying the content from excel sheet
ThisWorkbook.Worksheets("sheet1").Range("A1:g20").Copy
'Pasting on the document
mydoc.Paragraphs(1).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False,
RTF:=False
'saving the document
mydoc.SaveAs2 "MyDoc"
'closing the document
mydoc.Close
'Emptying the Clipboard
CutCopyMode = False
End Sub
Giải thích các bước sao chép dữ liệu Excel sang tệp Word bằng VBA
Dưới đây, NIIT-ICT Hà Nội sẽ giải thích rõ hơn về đoạn mã trên để bạn đọc hiểu rõ hơn về các bước sao chép dữ liệu Excel sang tệp Word bằng VBA.
1. Tạo các biến của ứng dụng và loại tài liệu Word
Dim wordApp As Word.Application
Dim mydoc As Word.Document
Đây là 2 biến bắt buộc mà chúng ta đã khai báo. Để làm được điều này, chúng ta cần thêm tham chiếu vào ứng dụng Word trước đó. Cách thêm tham chiếu vào ứng dụng Word đơn giản, chỉ cần đi tới các công cụ trong menu => tùy chọn tham chiếu => tham chiếu Word.
2. Tạo một tệp Word mới nếu trước đó chưa có
Set wordApp = New Word.Application
Bằng cách sử dụng từ khóa New, bạn hãy xác định biến wordApp với một đối tượng kiểu Word.App. Thao tác này sẽ giúp bạn mở ứng dụng Word.
3. Làm hiển thị ứng dụng Word
wordApp.Vible = True
Hiển thị ứng dụng Word sẽ giúp chúng ta có thể làm việc dễ dàng với nó.
4. Tạo một tài liệu mới
Set mydoc = wordApp.Documents.Add()
Dòng mã trên sẽ giúp chúng ta thêm một tài liệu mới vào Word. Để tạo dòng mã, hãy sử dụng hàm word.Document.Add ().
5. Sao chép nội dung từ trang tính Excel
ThisWorkbook.Worksheets("sheet1").Range("A1:G20").Copy
Ở đây, chúng ta chỉ thực hiện sao chép một phạm vi từ Excel.
6. Dán dữ liệu
LinkedToExcel:=False, _
WordFormatting:=False,
RTF:=False
Trong MyDoc, sử dụng phương thức PasteExcelTable của Paragraph.Range để dán dữ liệu từ khay nhớ tạm.
7. Lưu tài liệu
mydoc.SaveAs2 "MyDoc"
Như vậy, chúng ta đang thực hiện lưu tài liệu với tên MyDoc.
8. Đóng tài liệu
Mydoc.Close
Sử dụng chức năng Close để đóng tài liệu.
9. Làm trống Clipboard
CutCopyMode = False
Cuối cùng, giải phóng khay nhớ tạm để sử dụng trong những lần tiếp theo.
Kết luận: Khi tìm hiểu về ứng dụng của VBA bạn sẽ biết đến cách trích xuất dữ liệu từ Excel sang các dạng tệp khác, trong đó, sao chép dữ liệu từ Excel sang tệp Word khá phổ biến. Nếu còn bất cứ băn khoăn gì liên quan đến bài viết hay chủ đề VBA, hãy comment bên dưới để NIIT-ICT Hà Nội kịp thời giải đáp.
Bạn có thể tham khảo đăng ký khóa học VBA để nhận được những ưu đãi của NIIT.