Gegevens kopiëren van Excel naar Word met VBA Excel

Inhoudsopgave:

Anonim

Om gegevens van Excel naar een Word-bestand te kopiëren met VBA, hebben we toegang tot de Word-toepassing nodig met Excel VBA. In deze zelfstudie leren we hoe u een woordtoepassing kunt openen, een document kunt toevoegen en gegevens uit Excel kunt kopiëren en plakken.

In dit artikel zullen we de methode Early Binding gebruiken om een ​​object van woordtoepassing te maken in plaats van de late binding te gebruiken. U kunt er hier uitgebreid over lezen.

Het proces van het kopiëren van Excel-gegevens naar een Word-bestand met behulp van Excel VBA

Om gegevens van Excel naar een Word-bestand te kopiëren met VBA, moeten we natuurlijk eerst de Word-toepassing openen. Voeg er dan een document aan toe (als je een nieuw document wilt). Kopieer gegevens uit Excel-bestand. Selecteer de alinea in het document en plak erop. Sla het document ten slotte op en sluit het. Elk van deze stappen kan eenvoudig vanuit Excel worden uitgevoerd. U hoeft niet te communiceren met het Word-document.

Laten we beginnen met een voorbeeld zonder verder in theorie te gaan. Omdat Iron Man zei: "Soms moet je rennen voordat je kunt lopen".

Voorbeeld: Excel-gegevens in Word plakken met VBA

De onderstaande code is een voorbeeld van hoe u een Excel-reeks kunt kopiëren en in een nieuw Word-document kunt plakken en op de schijf kunt opslaan om later te gebruiken

'VBA-code om te schrijven om gegevens van Excel naar een documentsub ExcelToWord() te kopiëren 'Gebruik van Early Binding Dim wordApp As Word.Application Dim mydoc As Word.Document 'Een nieuw exemplaar van woord maken alleen als er geen andere instanties zijn Stel wordApp = New Word.Application 'Word App zichtbaar maken wordApp.Visible = True 'Een nieuw document maken Set mydoc = wordApp.Documents.Add() 'kopiëren van de inhoud van Excel-blad ThisWorkbook.Worksheets("sheet1").Range("A1:g20 ").Copy 'Plakken op het document mydoc.Paragraphs(1).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, RTF:=False 'het document opslaan mydoc.SaveAs2 "MyDoc" 'het document mydoc sluiten Sluit 'Het klembord leegmaken CutCopyMode = False End Sub' 

Verklaring van de Code:

Welnu, ik heb elke stap in de code zelf uitgelegd met behulp van opmerkingen, maar laten we iets zeggen over de regels die we in deze sub hebben gebruikt.

'Gemaakte variabelen van woordtoepassing en documenttype'

Dim wordApp als Word.Application

Dim mydoc als Word.Document

Hier hebben we twee variabelen van de vereiste typen gedeclareerd. We kunnen dit doen omdat we de verwijzing naar de woordtoepassing al hebben toegevoegd. U kunt dit doen door naar hulpmiddelen in het menu te gaan. Zoek verwijzingen optie en zoek vervolgens naar het woord verwijzing.

'Alleen een nieuwe instantie van een woord maken als er geen andere instanties zijn'

Stel wordApp = Nieuw Word.Application

'Word-app zichtbaar maken'

wordApp.Visible = True

'Een nieuw document maken'

Stel mijndoc = wordApp.Documents.Add() in

In de eerste regel hierboven initiëren we de variabele wordApp met een object van het type Word.App met het trefwoord New. Hiermee wordt de Word-toepassing geopend.

In de tweede regel maken we het woord applicatie zichtbaar zodat we ermee aan de slag kunnen.

In de volgende regel voegen we een nieuw document toe aan de woordtoepassing met behulp van de functie Word.Documents.Add(). Dit wordt opgeslagen in de mydoc-variabele.

'kopiëren van de inhoud van Excel-sheet'

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

Hier kopiëren we gewoon een bereik uit Excel. Je moet het eerder gedaan hebben. Het wordt opgeslagen op het klembord.

'Plakken op het document'

mijndoc.Paragraphs(1).Bereik.PlakkenExcelTable _

LinkedToExcel:=False, _

WordFormatting:=False,

RTF:=False

We gebruiken de PasteExcelTable-methode van de klasse Paragraaf.Range van mydoc om gegevens van het klembord te plakken.

'het document opslaan'

mijndoc.SaveAs2 "MijnDoc"

'het document sluiten'

mijndoc.Sluiten

'Het klembord leegmaken'

CutCopyMode = False

We slaan het document op met de naam MyDoc. Vervolgens sluiten we het document met de functie Sluiten. Eindelijk geven we het klembord vrij om door anderen te worden gebruikt.

Dus ja jongens, dit is hoe je een nieuw Word-document kunt maken en Excel-gegevens ernaar kunt kopiëren met VBA. Ik ben niet in details gegaan omdat dit het artikel vermoeiend lang zou maken. Dit was alleen om te leren hoe je via Excel in een Word-document kunt plakken. Ik hoop dat het u heeft geholpen het proces te begrijpen. Als u vragen heeft over dit artikel, kunt u contact met mij opnemen via de opmerkingen hieronder.

Aan de slag met Excel VBA UserForms| Ik zal uitleggen hoe je een formulier in Excel maakt, hoe je de VBA-toolbox gebruikt, hoe je met gebruikersinvoer omgaat en tot slot hoe je de gebruikersinvoer opslaat. We zullen deze onderwerpen doornemen aan de hand van een voorbeeld en een stapsgewijze handleiding.

VBA-variabelen in Excel| VBA staat voor Visual Basic for Applications. Het is een programmeertaal van Microsoft. Het wordt gebruikt met Microsoft Office-toepassingen zoals MSExcel, MS-Word en MS-Access, terwijl VBA-variabelen specifieke trefwoorden zijn.

Excel VBA-variabel bereik| In alle programmeertalen hebben we variabele toegangsspecificaties die definiëren van waaruit toegang tot een gedefinieerde variabele kan worden verkregen. Excel VBA is geen uitzondering. VBA heeft ook scope-specificaties.

ByRef en ByVal-argumenten | Wanneer een argument als ByRef-argument wordt doorgegeven aan een andere sub of functie, wordt de referentie van de werkelijke variabele verzonden. Alle wijzigingen die in de kopie van de variabele zijn aangebracht, worden weerspiegeld in het oorspronkelijke argument.

Bladen verwijderen zonder bevestigingsvragen met VBA in Microsoft Excel | Aangezien u bladen verwijdert met VBA, weet u wat u doet. U wilt Excel vertellen deze waarschuwing niet te tonen en dat verdomde blad te verwijderen.

Nieuwe werkmap toevoegen en opslaan met VBA in Microsoft Excel 2016| In deze code hebben we eerst een verwijzing naar een werkmapobject gemaakt. En toen hebben we het geïnitialiseerd met een nieuw werkmapobject. Het voordeel van deze aanpak is dat u eenvoudig bewerkingen op deze nieuwe werkmap kunt uitvoeren. Zoals opslaan, sluiten, verwijderen, etc

Geef een bericht weer op de Excel VBA-statusbalk| De statusbalk in Excel kan worden gebruikt als codemonitor. Wanneer uw VBA-code lang is en u verschillende taken uitvoert met VBA, schakelt u vaak de schermupdate uit zodat u dat scherm niet ziet flikkeren.

Schakel waarschuwingsberichten uit met VBA in Microsoft Excel 2016| Deze code schakelt niet alleen VBA-waarschuwingen uit, maar verhoogt ook de tijdefficiëntie van de code. Laten we eens kijken hoe.

Populaire artikels:

50 Excel-snelkoppelingen om uw productiviteit te verhogen | Word sneller in uw taak. Met deze 50 sneltoetsen werk je nog sneller in Excel.

De VERT.ZOEKEN-functie in Excel | Dit is een van de meest gebruikte en populaire functies van Excel die wordt gebruikt om waarde op te zoeken uit verschillende bereiken en bladen.

AANTAL.ALS in Excel 2016 | Tel waarden met voorwaarden met behulp van deze geweldige functie. U hoeft uw gegevens niet te filteren om specifieke waarden te tellen. Countif-functie is essentieel om uw dashboard voor te bereiden.

Hoe de SUMIF-functie in Excel te gebruiken? | Dit is een andere essentiële functie van het dashboard. Dit helpt u bij het optellen van waarden voor specifieke voorwaarden.