Cách tích hợp dữ liệu từ Excel vào Word

Cách tích hợp dữ liệu từ Excel vào Word

Excel là một chương trình tuyệt vời để làm mọi thứ, từ việc tạo các biểu đồ chuyên nghiệp cho đến việc tạo một bộ theo dõi quản lý dự án, nhưng nếu bạn cần viết một bản báo cáo thì Word hữu ích hơn nhiều. Bài viết này sẽ đề cập tổng thể đến nguyên bản VBA, ngôn ngữ lập trình cho phép bạn liên kết trực tiếp đến chương trình thông qua dữ liệu được lưu trữ trong tập tin Excel và tài liệu Word mà bạn làm báo cáo. Đáng ngạc nhiên là rất dễ dàng để tích hợp dữ liệu Microsoft Excel vào Microsoft Word khi bạn biết cách bố trí cú pháp của mã VBA.

Thiết lập Trang tính

Ở ví dụ này, chúng ta sẽ bắt đầu với một trang tính Excel đơn giản. Trong thực tế, tập tin Excel có thể bao gồm nhiều trang tính với rất nhiều dữ liệu. Miễn là bạn biết rõ nơi để tìm kiếm dữ liệu trong trang tính, bạn sẽ có thể truy cập và lấy nó bằng cách sử dụng VBA. Một trang tính mẫu sẽ trông như thế này. Nó là một danh sách tổng chi phí được tính toán xuyên suốt trong cả năm.

Tạo tài liệu Word

Nếu quản lý của bạn thích xem những bản báo cáo đã được định dạng tốt, có thể mô tả được chi phí, nhóm các items lại với nhau và trình bày thông tin theo một bố cục đẹp mắt. Bạn có thể thực hiện điều đó qua việc kết hợp các thành phần như textbox và các label vào trong tài liệu Word. Bạn chỉ việc nhấp vào thanh công cụ Developer, sau đó chọn Design Mode trong phần Controls. Hãy dùng biểu tượng Legacy Tools để chèn các thành phần khác nhau vào tài liệu của bạn.

Hãy sử dụng công cụ này để chèn Label.

Một khi bạn đặt được các label vào nơi mà bạn muốn đặt trong tài liệu, thì bạn đã sẵn sàng để tạo một chương trình cung cấp dữ liệu. Nhưng đầu tiên, bạn cần đặt tên cho label để VBA có thể nhận diện nó. Hãy nhấp vào đúng label đó, sau đó chọn Properties. Tìm mục (Name) và đặt cho nó một cái tên dễ nhớ.

Bây giờ, hãy thêm Command Button từ  Legacy Tools, và nhấp chuột 2 lần vào nó để mở phần biên tập VBA. Bạn có thể chỉnh sửa nó sau này để code có thể chạy khi mở tài liệu, bằng cách chọn mục Document Open() trong cửa sổ hiện lên.

Làm việc với VBA

Để bắt đầu liên kết Word với Excel, bạn sẽ cần chắc chắn rằng bạn đã hiểu cơ bản về VBA.

Chuẩn bị nhập dữ liệu Excel

Nhấn chọn Tools, sau đó chọn References, kéo danh sách xuống cho đến khi bạn thấy Microsoft Excel 16.0 Object Library và nhấn chọn.

Khi bạn đã xong phần này, phần còn lại chỉ là vấn đề của việc viết script cho VBA để kéo dữ liệu từ trang tính Excel, và tự động cập nhật chú thích label với dữ liệu. Đây là đoạn code:

Private Sub CommandButton1_Click()

Dim objExcel As New Excel.Application

Dim exWb As Excel.Workbook

Set exWb = objExcel.Workbooks.Open(“C:\Users\Brad\Desktop\expenses.xlsx”)

ThisDocument.total_expenses.Caption = exWb.Sheets(“Sheet1”).Cells(12, 2)

exWb.Close

Set exWb = Nothing

End Sub

Phần “exWb” mở ra tập tin Microsoft Excel theo đường dẫn bạn cung cấp, và nó sẽ đi thẳng đến sheet và số ô cụ thể, sau đó xuất dữ liệu, và đặt nó vào thuộc tính chú thích của label, ở ví dụ này nó được đặt tên là Total_Exenses. Tất cả những gì bạn cần thay đổi trong script là các đường dẫn tập tin và tên label.

Kiểm tra Macro đã tạo

Để kiểm tra nút lệnh của bạn, hãy lưu tài liệu, nhớ chọn Word Macro-Enabled Document để code có thể hoạt động.

Tích hợp các label trong Excel

Việc sử dụng label trong Word đôi khi sẽ khó khăn do bạn không thể xếp nó vào cuối câu hoặc theo các văn bản khác. Một cách để giải quyết đó là thực sự kết hợp một số đoạn văn bản xuyên suốt dữ liệu trong mã VBA. Trong ví dụ này sẽ đặt văn bản tĩnh chính xác với Caption khi tạo label riêng.

Bây giờ, tất cả việc bạn phải làm là thêm văn bản đó khi bạn cập nhật label với script VBA, và nối vào dữ liệu từ tập tin Microsoft Excel cho đến phần cuối của văn bản. Đây là đoạn code bạn cần:

Dim objExcel As New Excel.Application

Dim exWb As Excel.Workbook

Set exWb = objExcel.Workbooks.Open(“c:\Users\Brad\Desktop\expenses.xlsa”)

ThisDocument.total_expenses.Caption = exWb.Sheets(“Sheet1”).Cells(12, 2)

ThisDocument.total_hotels.Caption = “Hotels: ” & exWb.Sheets(“Sheet1”).Cells(5, 2)

ThisDocument.total_dining.Caption = “Dining Out: ” & exWb.Sheets(“Sheet1”).Cells(2, 2)

ThisDocument.total_tolls.Caption = “Tolls: ” & exWb.Sheets(“Sheet1”).Cells(3, 2)

ThisDocument.total_fuel.Caption = “Fuel: ” & exWb.Sheets(“Sheet1”).Cells(10, 2)

exWb.Close

Set exWb = Nothing

Bạn có thể sử dụng chuỗi mắt xích ký hiệu “&” để thay thế liên kết giữa các văn bản tĩnh với dữ liệu được xuất ra từ bên Excel sheet. Kết quả cuối cùng trong tài liệu mới cập nhật bên Word sẽ có dạng như thế này:

Đây là một trong những tính năng khó của Excel sẽ giúp bạn tiết kiệm rất nhiều thời gian làm việc. Tìm hiểu thêm nhiều tính năng và macro hữu ích trong khóa học Excel Và Ứng Dụng Trong Thực Tiễn Mircrosoft Excel 2013 Nâng Cao từ VietnamWorks Learning.