Hur man kopierar data från Excel till Word med VBA Excel

Innehållsförteckning:

Anonim

För att kopiera data från Excel till en Word -fil med VBA måste vi komma åt ordprogrammet med Excel VBA. I denna handledning lär vi oss hur man öppnar ett word-program, lägger till ett dokument och kopierar och klistrar in data från Excel till det.

I den här artikeln kommer vi att använda Early Binding -metoden för att skapa ett objekt för ordprogram istället för att använda den sena bindningen. Du kan läsa om det här i detalj.

Processen att kopiera Excel -data till en Word -fil med hjälp av Excel VBA

För att kopiera data från excel till en word -fil med VBA måste vi först öppna Word -applikationen förstås. Lägg sedan till ett dokument i det (om du vill ha ett nytt dokument). Kopiera data från excel -fil. Välj stycket i dokumentet och klistra in det. Spara och stäng slutligen dokumentet. Var och en av dessa steg kan enkelt göras från Excel. Du behöver inte interagera med Word -dokumentet.

Låt oss börja med ett exempel utan att gå in på teorin. Eftersom Iron Man sa, "Ibland måste du springa innan du kan gå".

Exempel: Klistra in Excel -data i Word med VBA

Koden nedan är ett exempel på hur du kan kopiera ett antal Excel -filer och klistra in det i ett nytt word -dokument och spara det på enheten för att använda det senare

'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 'Skapa en ny instans av ord endast om det inte finns andra instanser Ange wordApp = nytt Word.Application 'Making word App Visible wordApp.Visible = True' Skapa ett nytt dokument Ställ in mydoc = wordApp.Documents.Add () 'kopiera innehållet från Excel -blad ThisWorkbook.Worksheets ("blad1"). Område ("A1: g20 ") .Copy 'Klistra in på dokumentet mydoc.Paragraphs (1) .Range.PasteExcelTable _ LinkedToExcel: = False, _ WordFormatting: = False, RTF: = False' spara dokumentet mydoc.SaveAs2" MyDoc "'stänga dokumentet mydoc .Stäng 'Tömning av Urklipp CutCopyMode = False End Sub 

Förklaring av koden:

Jag har förklarat varje steg i själva koden med hjälp av kommentarer, men låt oss få lite ord om de rader som vi har använt i den här suben.

'Skapade variabler av ordprogram och dokumenttyp

Dim wordApp som Word.Application

Dim mydoc As Word.Document

Här har vi deklarerat två variabler av de nödvändiga typerna. Vi kan göra detta eftersom vi redan har lagt till referensen till ordet ansökan. Du kan göra detta genom att gå till verktyg i menyn. Hitta alternativ för referenser och leta sedan efter ordet referens.

'Skapa en ny instans av ord endast om det inte finns några andra instanser

Ange wordApp = nytt Word.Application

'Gör ordet app synligt

wordApp.Visible = Sant

'Skapa ett nytt dokument

Ange mydoc = wordApp.Documents.Add ()

På första raden ovan avser vi varianten wordApp med ett objekt av typen Word.App med det nya nyckelordet. Detta öppnar Word -applikationen.

På den andra raden gör vi ordet applikation synligt så att vi kan arbeta med det.

På nästa rad lägger vi till ett nytt dokument i ordprogrammet med funktionen Word.Documents.Add (). Detta lagras i mydoc -variabeln.

'kopiera innehållet från Excel -blad

ThisWorkbook.Worksheets ("blad1"). Omfång ("A1: G20"). Kopiera

Här kopierar vi helt enkelt ett intervall från excel. Du måste ha gjort det förut. Det lagras på Urklipp.

'Klistrar på dokumentet

mydoc.Paragrafer (1) .Range.PasteExcelTable _

LinkedToExcel: = Falskt, _

WordFormatting: = Falskt,

RTF: = Falskt

Vi använder PasteExcelTable -metoden i Paragraph.Range -klassen i mydoc för att klistra in data från urklipp.

'spara dokumentet

mydoc.SaveAs2 "MyDoc"

'stänger dokumentet

mydoc.Stäng

'Tömning av Urklipp

CutCopyMode = Falskt

Vi sparar dokumentet med namnet MyDoc. Sedan stänger vi dokumentet med hjälp av stängningsfunktionen. Slutligen släpper vi urklipp som ska användas av andra.

Så ja killar, så här kan du skapa ett nytt Word -dokument och kopiera Excel -data till det med VBA. Jag har inte gått in på detaljer eftersom det skulle göra artikeln utmattande lång. Detta var bara för att lära dig hur du kan klistra in i ett word -dokument via Excel. Jag hoppas att det hjälpte dig att förstå processen. Om du har några frågor angående denna artikel kan du kontakta mig via kommentarsfältet nedan.

Komma igång med Excel VBA UserForms| Jag kommer att förklara hur man skapar ett formulär i excel, hur man använder VBA -verktygslåda, hur man hanterar användarinmatningar och slutligen hur man lagrar användarinmatningarna. Vi kommer att gå igenom dessa ämnen med ett exempel och steg för steg -guide.

VBA -variabler i Excel| VBA står för Visual Basic for Applications. Det är ett programmeringsspråk från Microsoft. Den används med Microsoft Office-applikationer som MSExcel, MS-Word och MS-Access medan VBA-variabler är specifika nyckelord.

Excel VBA variabelt omfång| På alla programmeringsspråk har vi variabelåtkomstspecificerare som definierar varifrån en definierad variabel kan nås. Excel VBA är inget undantag. VBA har också omfångsspecifikatorer.

ByRef och ByVal -argument | När ett argument skickas som ett ByRef -argument till en annan sub eller funktion skickas referensen till den faktiska variabeln. Alla ändringar som görs i kopian av variabeln återspeglas i det ursprungliga argumentet.

Ta bort blad utan bekräftelsefrågor med VBA i Microsoft Excel | Eftersom du raderar blad med VBA vet du vad du gör. Du vill berätta för Excel att inte visa den här varningen och ta bort det jävla arket.

Lägg till och spara ny arbetsbok med VBA i Microsoft Excel 2016| I den här koden skapade vi först en referens till ett arbetsbokobjekt. Och sedan initierade vi det med ett nytt arbetsbokobjekt. Fördelen med detta tillvägagångssätt är att du enkelt kan utföra den nya arbetsboken. Som att spara, stänga, radera osv

Visa ett meddelande i Excel VBA -statusfältet| Statusfältet i excel kan användas som kodmonitor. När din VBA -kod är lång och du utför flera uppgifter med VBA, inaktiverar du ofta skärmuppdateringen så att du inte ser att skärmen flimrar.

Stäng av varningsmeddelanden med VBA i Microsoft Excel 2016| Denna kod inaktiverar inte bara VBA -varningar utan ökar också kodens tidseffektivitet. Låt oss se hur.

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifika värden. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.