So kopieren Sie Daten von Excel nach Word mit VBA Excel

Inhaltsverzeichnis:

Anonim

Um Daten aus Excel mit VBA in eine Word-Datei zu kopieren, müssen wir mit Excel VBA auf die Word-Anwendung zugreifen. In diesem Tutorial lernen wir, wie Sie eine Word-Anwendung öffnen, ein Dokument hinzufügen und Daten aus Excel kopieren und einfügen.

In diesem Artikel verwenden wir die Early Binding-Methode, um ein Objekt der Wortanwendung zu erstellen, anstatt die späte Bindung zu verwenden. Hier können Sie ausführlich darüber nachlesen.

Der Prozess des Kopierens von Excel-Daten in eine Word-Datei mit Excel VBA

Um Daten aus Excel mit VBA in eine Word-Datei zu kopieren, müssen wir natürlich zuerst die Word-Anwendung öffnen. Fügen Sie dann ein Dokument hinzu (wenn Sie ein neues Dokument wünschen). Daten aus Excel-Datei kopieren. Wählen Sie den Absatz im Dokument aus und fügen Sie ihn ein. Schließlich speichern und schließen Sie das Dokument. Jeder dieser Schritte kann ganz einfach von Excel aus durchgeführt werden. Sie müssen nicht mit dem Word-Dokument interagieren.

Beginnen wir mit einem Beispiel, ohne weiter in die Theorie einzusteigen. Denn Iron Man sagte: „Manchmal muss man laufen, bevor man laufen kann“.

Beispiel: Excel-Daten mit VBA in Word einfügen

Der folgende Code ist ein Beispiel dafür, wie Sie eine Reihe von Excel kopieren und in ein neues Word-Dokument einfügen und auf dem Laufwerk speichern können, um es später zu verwenden

'VBA-Code zum Schreiben, um Daten aus Excel in ein Dokument zu kopieren Sub ExcelToWord() 'Verwenden der frühen Bindung Dim wordApp As Word.Application Dim mydoc As Word.Document 'Erstellen einer neuen Instanz von Wort nur, wenn keine anderen Instanzen vorhanden sind Setze wordApp = New Word.Application 'Wort-App sichtbar machen wordApp.Visible = True 'Neues Dokument erstellen Set mydoc = wordApp.Documents.Add() 'Inhalt aus Excel-Tabelle kopieren ThisWorkbook.Worksheets("sheet1").Range("A1:g20 ").Copy 'Einfügen in das Dokument mydoc.Paragraphs(1).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, RTF:=False 'Speichern des Dokuments mydoc.SaveAs2 "MyDoc" 'Schließen des Dokuments mydoc .Close 'Zwischenablage leeren CutCopyMode = False End Sub 

Erklärung des Kodex:

Nun, ich habe jeden Schritt im Code selbst mit Kommentaren erklärt, aber lassen Sie uns ein paar Worte zu den Zeilen haben, die wir in diesem Unterabschnitt verwendet haben.

'Variablen der Wortanwendung und des Dokumenttyps erstellt

WordApp als Word.Application dimmen

Dim mydoc als Word.Document

Hier haben wir zwei Variablen der benötigten Typen deklariert. Wir können dies tun, weil wir den Verweis auf das Wort Anwendung bereits hinzugefügt haben. Sie können dies tun, indem Sie im Menü auf Werkzeuge gehen. Option "Referenzen suchen" und suchen Sie dann nach dem Wort "Referenz".

'Erstellen einer neuen Instanz von Wort nur, wenn keine anderen Instanzen vorhanden sind

Setze wordApp = New Word.Application

'Wort-App sichtbar machen

wordApp.Visible = True

'Neues Dokument erstellen

Setze mydoc = wordApp.Documents.Add()

In der ersten Zeile oben beabsichtigen wir die Variable wordApp mit einem Objekt vom Typ Word.App mit dem Schlüsselwort New. Dies öffnet die Word-Anwendung.

In der zweiten Zeile machen wir das Wort Anwendung sichtbar, damit wir damit arbeiten können.

In der nächsten Zeile fügen wir der Word-Anwendung mit der Funktion Word.Documents.Add() ein neues Dokument hinzu. Dies wird in der Variable mydoc gespeichert.

'Inhalt aus Excel-Tabelle kopieren

ThisWorkbook.Worksheets("sheet1").Range("A1:G20").Copy

Hier kopieren wir einfach einen Bereich aus Excel. Sie müssen es vorher getan haben. Es wird in der Zwischenablage gespeichert.

'Einfügen in das Dokument

mydoc.Paragraphs(1).Range.PasteExcelTable _

LinkedToExcel:=Falsch, _

WordFormatting:=Falsch,

RTF:=Falsch

Wir verwenden die PasteExcelTable-Methode der Paragraph.Range-Klasse von mydoc, um Daten aus der Zwischenablage einzufügen.

'Dokument speichern

mydoc.SaveAs2 "MyDoc"

'Schließen des Dokuments

mydoc.Schließen

'Zwischenablage leeren

CutCopyMode = False

Wir speichern das Dokument unter dem Namen MyDoc. Dann schließen wir das Dokument mit der Close-Funktion. Schließlich geben wir die Zwischenablage frei, damit sie von anderen verwendet werden kann.

Also ja, Leute, so können Sie ein neues Word-Dokument erstellen und Excel-Daten mit VBA hineinkopieren. Ich bin nicht auf Details eingegangen, da dies den Artikel erschöpfend lang machen würde. Dies war nur, um zu lernen, wie Sie über Excel in ein Word-Dokument einfügen können. Ich hoffe, es hat Ihnen geholfen, den Prozess zu verstehen. Wenn Sie Fragen zu diesem Artikel haben, können Sie mich über den Kommentarbereich unten kontaktieren.

Erste Schritte mit Excel VBA UserForms| Ich werde erklären, wie Sie ein Formular in Excel erstellen, wie Sie die VBA-Toolbox verwenden, wie Sie Benutzereingaben verarbeiten und schließlich die Benutzereingaben speichern. Wir werden diese Themen anhand eines Beispiels und einer Schritt-für-Schritt-Anleitung durchgehen.

VBA-Variablen in Excel| VBA steht für Visual Basic für Applikationen. Es ist eine Programmiersprache von Microsoft. Es wird mit Microsoft Office-Anwendungen wie MSExcel, MS-Word und MS-Access verwendet, während VBA-Variablen spezifische Schlüsselwörter sind.

Gültigkeitsbereich von Excel-VBA-Variablen| In allen Programmiersprachen haben wir Variablenzugriffsspezifizierer, die definieren, von wo aus auf eine definierte Variable zugegriffen werden kann. Excel VBA ist keine Ausnahme. Auch VBA hat Bereichsspezifizierer.

ByRef- und ByVal-Argumente | Wenn ein Argument als ByRef-Argument an eine andere Unterfunktion oder Funktion übergeben wird, wird die Referenz der tatsächlichen Variablen gesendet. Alle Änderungen, die an der Kopie der Variablen vorgenommen werden, spiegeln sich im ursprünglichen Argument wider.

Löschen Sie Blätter ohne Bestätigungsaufforderung mit VBA in Microsoft Excel | Da Sie Blätter mit VBA löschen, wissen Sie, was Sie tun. Sie möchten Excel anweisen, diese Warnung nicht anzuzeigen und das verdammte Blatt zu löschen.

Hinzufügen und Speichern einer neuen Arbeitsmappe mit VBA in Microsoft Excel 2016| In diesem Code haben wir zuerst einen Verweis auf ein Arbeitsmappenobjekt erstellt. Und dann haben wir es mit einem neuen Arbeitsmappenobjekt initialisiert. Der Vorteil dieses Ansatzes besteht darin, dass Sie Vorgänge in dieser neuen Arbeitsmappe problemlos ausführen können. Wie Speichern, Schließen, Löschen usw.

Anzeigen einer Nachricht in der Excel VBA-Statusleiste| Die Statusleiste in Excel kann als Codemonitor verwendet werden. Wenn Ihr VBA-Code lang ist und Sie mehrere Aufgaben mit VBA ausführen, deaktivieren Sie häufig die Bildschirmaktualisierung, damit dieser Bildschirm nicht flackert.

Deaktivieren Sie Warnmeldungen mit VBA in Microsoft Excel 2016| Dieser Code deaktiviert nicht nur VBA-Warnungen, sondern erhöht auch die Zeiteffizienz des Codes. Mal sehen wie.

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.

Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.

ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um bestimmte Werte zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.

So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.