For at kopiere data fra Excel til en Word -fil ved hjælp af VBA skal vi få adgang til ordprogrammet ved hjælp af Excel VBA. I denne vejledning lærer vi, hvordan du åbner et word-program, tilføjer et dokument og kopierer og indsætter data fra Excel til det.
I denne artikel vil vi bruge Early Binding -metoden til at oprette et objekt med et ordprogram i stedet for at bruge den sene binding. Du kan læse om det her i detaljer.
Processen med at kopiere Excel -data til en Word -fil ved hjælp af Excel VBA
For at kopiere data fra excel til en word -fil ved hjælp af VBA, skal vi først åbne Word -applikationen selvfølgelig. Tilføj derefter et dokument til det (hvis du vil have et nyt dokument). Kopier data fra excel -fil. Vælg afsnittet i dokumentet, og indsæt det. Gem og luk dokumentet til sidst. Hver af disse trin kan let udføres fra Excel. Du behøver ikke at interagere med Word -dokumentet.
Lad os komme i gang med et eksempel uden at komme nærmere ind på teorien. Fordi Iron Man sagde: "Nogle gange skal du løbe, før du kan gå".
Eksempel: Indsæt Excel -data i Word ved hjælp af VBA
Nedenstående kode er et eksempel på, hvordan du kan kopiere et udvalg af excel og indsætte det i et nyt word -dokument og gemme det på drevet til senere brug
'VBA Code To Write to Copy data from Excel to A Document Sub ExcelToWord ()' Using Early Binding Dim wordApp As Word.Application Dim mydoc As Word.Document 'Oprettelse af en ny forekomst af ord kun hvis der ikke er andre instanser Angiv wordApp = Ny Word.Application 'Making word App Visible wordApp.Visible = True' Oprettelse af et nyt dokument Indstil mydoc = wordApp.Documents.Add () 'kopiering af indholdet fra Excel -ark ThisWorkbook.Worksheets ("ark1"). Område ("A1: g20 "). Kopier 'Indsætter på dokumentet mydoc.Paragraphs (1) .Range.PasteExcelTable _ LinkedToExcel: = Falsk, _ WordFormatting: = Falsk, RTF: = Falsk' gemmer dokumentet mydoc.SaveAs2" MyDoc "'lukker dokument mydoc .Luk 'Tømning af udklipsholderen CutCopyMode = False End Sub
Forklaring af koden:
Jeg har godt forklaret hvert trin i selve koden ved hjælp af kommentarer, men lad os få et ord om de linjer, vi har brugt i denne sub.
'Oprettede variabler af ordprogram og dokumenttype
Dim wordApp som Word.Application
Dim mydoc som Word.Document
Her har vi erklæret to variabler af de krævede typer. Vi kan gøre dette, fordi vi allerede har tilføjet henvisningen til ordet ansøgning. Du kan gøre dette ved at gå til værktøjer i menuen. Find mulighed for referencer, og kig derefter efter ordet reference.
'Opretter kun en ny forekomst af ord, hvis der ikke er andre forekomster
Indstil wordApp = Nyt Word.Application
'Gør word App synlig
wordApp.Visible = Sandt
'Oprettelse af et nyt dokument
Indstil mydoc = wordApp.Documents.Add ()
I den første linje ovenfor har vi til hensigt at tilpasse wordApp -variablen med et objekt af typen Word.App ved hjælp af det nye søgeord. Dette åbner Word -applikationen.
I den anden linje gør vi ordet applikation synligt, så vi kan arbejde med det.
I den næste linje tilføjer vi et nyt dokument til ordprogrammet ved hjælp af funktionen Word.Documents.Add (). Dette gemmes i mydoc -variablen.
'kopiering af indholdet fra excel -ark
ThisWorkbook.Worksheets ("ark1"). Område ("A1: G20"). Kopi
Her kopierer vi ganske enkelt et interval fra excel. Du må have gjort det før. Det gemmes på udklipsholderen.
'Indsætter på dokumentet
mydoc.Paragraphs (1) .Range.PasteExcelTable _
LinkedToExcel: = Falsk, _
WordFormatting: = Falsk,
RTF: = Falsk
Vi bruger PasteExcelTable -metoden i Paragraph.Range -klassen af mydoc til at indsætte data fra udklipsholder.
'gemmer dokumentet
mydoc.SaveAs2 "MyDoc"
'lukning af dokumentet
mydoc.Luk
'Tømmer udklipsholderen
CutCopyMode = Falsk
Vi gemmer dokumentet med navnet MyDoc. Derefter lukker vi dokumentet ved hjælp af funktionen Luk. Endelig frigiver vi udklipsholderen til brug for andre.
Så ja fyre, sådan kan du oprette et nyt Word -dokument og kopiere Excel -data til det ved hjælp af VBA. Jeg er ikke gået i detaljer, da det ville gøre artiklen udmattende lang. Dette var kun for at lære, hvordan du kan indsætte i et word -dokument via Excel. Jeg håber, det hjalp dig med at forstå processen. Hvis du har spørgsmål vedrørende denne artikel, kan du kontakte mig via kommentarfeltet herunder.
Kom godt i gang med Excel VBA UserForms| Jeg vil forklare, hvordan man opretter en formular i excel, hvordan man bruger VBA -værktøjskasse, hvordan man håndterer brugerinput og endelig hvordan man gemmer brugerinput. Vi vil gennemgå disse emner ved hjælp af et eksempel og en trinvis vejledning.
VBA -variabler i Excel| VBA står for Visual Basic for Applications. Det er et programmeringssprog fra Microsoft. Det bruges med Microsoft Office-applikationer som MSExcel, MS-Word og MS-Access, hvorimod VBA-variabler er specifikke søgeord.
Excel VBA variabelt omfang| På alle programmeringssprog har vi variabeladgangsspecifikatorer, der definerer, hvorfra der kan tilgås en defineret variabel. Excel VBA er ingen undtagelse. VBA har også omfangsspecifikationer.
ByRef og ByVal argumenter | Når et argument sendes som et ByRef -argument til en anden sub eller funktion, sendes referencen til den faktiske variabel. Eventuelle ændringer, der foretages i kopien af variablen, vil afspejle sig i det originale argument.
Slet ark uden bekræftelsesmeddelelser ved hjælp af VBA i Microsoft Excel | Da du sletter ark ved hjælp af VBA, ved du, hvad du laver. Du vil gerne bede Excel om ikke at vise denne advarsel og slette det forbandede ark.
Tilføj og gem ny arbejdsmappe ved hjælp af VBA i Microsoft Excel 2016| I denne kode oprettede vi først en reference til et projektmappeobjekt. Og så initialiserede vi det med et nyt projektmappeobjekt. Fordelen ved denne tilgang er, at du nemt kan udføre operationer på denne nye projektmappe. Som at gemme, lukke, slette osv
Vis en meddelelse på Excel VBA -statuslinjen| Statuslinjen i excel kan bruges som kodeovervågning. Når din VBA -kode er lang, og du udfører flere opgaver ved hjælp af VBA, deaktiverer du ofte skærmopdateringen, så du ikke kan se, at skærmen flimrer.
Slå advarselsmeddelelser fra ved hjælp af VBA i Microsoft Excel 2016| Denne kode deaktiverer ikke kun VBA -advarsler, men øger også kodeens tidseffektivitet. Lad os se hvordan.
Populære artikler:
50 Excel -genveje til at øge din produktivitet | Få hurtigere til din opgave. Disse 50 genveje får dig til at arbejde endnu hurtigere i Excel.
VLOOKUP -funktionen i Excel | Dette er en af de mest anvendte og populære funktioner i excel, der bruges til at slå værdi op fra forskellige områder og ark.
COUNTIF i Excel 2016 | Tæl værdier med betingelser ved hjælp af denne fantastiske funktion. Du behøver ikke at filtrere dine data for at tælle bestemte værdier. Countif -funktion er afgørende for at forberede dit dashboard.
Sådan bruges SUMIF -funktionen i Excel | Dette er endnu en vigtig instrumentbrætfunktion. Dette hjælper dig med at opsummere værdier på bestemte betingelser.