_Nếu bạn bắt buộc phải sao chép và dán dữ liệu từ nhiều trang tính excel vào MS Word thì bạn nên đọc bài viết này. Trong excel, không có tính năng nào như vậy có thể cho phép bạn chuyển đổi dữ liệu từ sổ làm việc excel sang tệp word. Ứng dụng Word không thể mở tệp excel trực tiếp. Tuy nhiên, dữ liệu excel có thể được sao chép & dán vào word và sau đó được lưu dưới dạng tài liệu word.

Tất cả chúng ta đều chuyển dữ liệu từ excel sang word theo cách thủ công, điều này đôi khi trở nên tẻ nhạt khi phải thực hiện các bước giống nhau quá nhiều lần trong một ngày; Để tránh các bước thủ công, chúng tôi sẽ viết mã VBA để thực hiện tất cả các bước ._

Trong bài này, chúng tôi sẽ tập trung vào việc chuyển dữ liệu từ excel sang tài liệu word. Chúng tôi sẽ tự động hóa toàn bộ quy trình thông qua mã VBA. Với mã macro, bạn có thể chỉ cần sao chép dữ liệu trong một trang tính cùng một lúc và sau đó ứng dụng word sẽ được khởi chạy tự động & mã VBA sẽ sử dụng lệnh dán để chèn dữ liệu vào tệp doc.

Để lấy mã; chúng ta cần làm theo các bước sau để khởi chạy trình soạn thảo VB:

Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic

img1

Có một bước quan trọng mà bạn không được bỏ qua Nhấp vào Công cụ để chọn Tài liệu tham khảo Cuộn xuống cho đến khi bạn tìm thấy “Thư viện đối tượng Microsoft Word 15.0” Đảm bảo bạn chọn hộp; tham khảo hình ảnh dưới đây

img2

  • Sao chép đoạn mã dưới đây trong mô-đun chuẩn

Sub CopyWorksheetsToWord()

Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet

Application.ScreenUpdating = False

Application.StatusBar = "Creating new document..."

Set wdApp = New Word.Application

Set wdDoc = wdApp.Documents.Add

For Each ws In ActiveWorkbook.Worksheets

Application.StatusBar = "Copying data from " & ws.Name & "..."

ws.UsedRange.Copy

wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter

wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.Paste

Application.CutCopyMode = False

wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter

If Not ws.Name = Worksheets(Worksheets.Count).Name Then

With wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range

.InsertParagraphBefore

.Collapse Direction:=wdCollapseEnd

.InsertBreak Type:=wdPageBreak

End With

End If

Next ws

Set ws = Nothing

Application.StatusBar = "Cleaning up..."

With wdApp.ActiveWindow

If .View.SplitSpecial = wdPaneNone Then

.ActivePane.View.Type = wdNormalView

Else

.View.Type = wdNormalView

End If

End With

Set wdDoc = Nothing

wdApp.Visible = True

Set wdApp = Nothing

Application.StatusBar = False

End Sub

image 1.1

===

Để kiểm tra mã, chúng ta hãy chèn 2 trang tính và thêm số ngẫu nhiên. Sau đây là ảnh chụp nhanh của cả hai bảng tính:

Trang thứ nhất: –

image 2

Trang thứ 2: –

image 3

Sau khi thiết lập dữ liệu trong trang tính; chúng ta có thể chạy macro Ứng dụng Word sẽ được khởi chạy ngay lập tức & dữ liệu sẽ được sao chép từ tất cả các trang tính sang word; tham khảo ảnh chụp dưới đây

image 1

Nếu bạn nghĩ rằng sao chép dữ liệu là một nhiệm vụ nhưng nên có khoảng ngắt trang giữa mỗi dữ liệu trang tính để mọi người có thể dễ dàng tạo ra sự khác biệt giữa dữ liệu từ mỗi trang tính.

Dữ liệu trên sẽ được sao chép từ một trang tính và sau đó mã VBA sẽ đảm bảo thêm ngắt trang giữa các trang.

Kết luận: Bằng cách này, chúng tôi có thể giúp rất nhiều người dùng Microsoft Office nghĩ rằng việc chuyển đổi dữ liệu từ file excel sang word là một chút phức tạp hoặc không thể thực hiện được. Đoạn mã trên đã chứng minh cách người ta có thể sao chép và dán dữ liệu vào tệp word một cách dễ dàng mà không gặp bất kỳ phiền phức nào từ nhiều trang tính excel sang tệp word doc.

image 48

Nếu bạn thích blog của chúng tôi, hãy chia sẻ nó với bạn bè của bạn trên Facebook. Và bạn cũng có thể theo dõi chúng tôi trên Twitter và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện, bổ sung hoặc đổi mới công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi tại [email protected]