Kopieren Arbeitsblatt Informationen in Word mit VBA in Microsoft Excel
nach Word _Wenn Sie Daten aus mehreren Excel-Arbeitsblättern in MS Word kopieren und einfügen müssen, sollten Sie diesen Artikel lesen. In Excel gibt es keine solche Funktion, mit der Sie die Daten aus der Excel-Arbeitsmappe in eine Word-Datei konvertieren können. Die Word-Anwendung kann Excel-Dateien nicht direkt öffnen. Excel-Daten können jedoch kopiert und in Word eingefügt und dann als Word-Dokument gespeichert werden.
Wir alle übertragen Daten manuell von Excel zu Word, was manchmal mühsam wird, wenn dieselben Schritte zu oft am Tag ausgeführt werden. Um die manuellen Schritte zu vermeiden, schreiben wir VBA-Code, um alle Schritte auszuführen._
In diesem Artikel konzentrieren wir uns auf das Verschieben von Daten von Excel zu Word-Dokumenten. Wir werden den gesamten Vorgang über VBA-Code automatisieren. Mit Makrocode können Sie die Daten einfach gleichzeitig in ein Arbeitsblatt kopieren. Anschließend wird die Wortanwendung automatisch gestartet und der VBA-Code verwendet den Befehl Einfügen, um die Daten in die Dokumentdatei einzufügen.
Um den Code zu erhalten; Wir müssen die folgenden Schritte ausführen, um den VB-Editor zu starten:
Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Gruppe Code die Option Visual Basic
aus Es gibt einen wichtigen Schritt, den Sie nicht verpassen dürfen. Klicken Sie auf Extras, um Referenzen auszuwählen. Scrollen Sie nach unten, bis Sie „Microsoft Word 15.0-Objektbibliothek“ finden. Aktivieren Sie das Kontrollkästchen. siehe Bild unten
-
Kopieren Sie den folgenden Code in das Standardmodul
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
===
Um den Code zu testen, fügen wir 2 Blätter ein und fügen Zufallszahlen hinzu. Es folgt die Momentaufnahme beider Arbeitsblätter:
-
Blatt: –
-
Blatt: –
Nach dem Einrichten der Daten in Arbeitsblättern; Wir können das Makro ausführen. Die Word-Anwendung wird sofort gestartet und die Daten werden von allen Arbeitsblättern in Word kopiert. siehe unten Schnappschuss
Wenn Sie der Meinung sind, dass das Kopieren der Daten eine Aufgabe ist, zwischen den einzelnen Arbeitsblattdaten jedoch ein Seitenumbruch auftreten sollte, damit jeder problemlos zwischen den Daten aus den einzelnen Arbeitsblättern unterscheiden kann.
Die obigen Daten werden von einem Blatt kopiert und der VBA-Code stellt sicher, dass zwischen den Seiten ein Seitenumbruch hinzugefügt wird.
Fazit: Auf diese Weise können wir vielen Microsoft Office-Benutzern helfen, die das Konvertieren von Daten aus Excel-Dateien in Word für etwas kompliziert oder unmöglich halten. Der obige Code hat gezeigt, wie einfach man Daten kopieren und in Word-Dateien einfügen kann, ohne viel Aufhebens von mehreren Excel-Tabellen in Word-Doc-Dateien.
Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]