Kopier regnearkinformasjon til Word ved hjelp av VBA i Microsoft Excel

Anonim

Hvis du må kopiere og lime inn data fra flere Excel -regneark i MS Word, bør du lese denne artikkelen. I Excel er det ingen slik funksjon som kan tillate deg å konvertere dataene fra Excel -arbeidsbok til word -fil. Word -programmet kan ikke åpne excel -filer direkte. Excel -data kan imidlertid kopieres og limes inn i word og deretter lagres som word -dokument.
Vi overfører alle data fra excel til word manuelt, noe som blir kjedelig noen ganger når det gjelder å utføre de samme trinnene for mange ganger på en dag; for å unngå de manuelle trinnene, skriver vi VBA -kode for å utføre alle trinnene.

I denne artikkelen vil vi fokusere på å flytte data fra excel til word -dokument. Vi vil automatisere hele prosedyren via VBA -kode. Med makrokode kan du ganske enkelt kopiere dataene i ett regneark om gangen, og deretter blir ordprogrammet startet automatisk, og VBA -koden bruker limekommando for å sette inn dataene i doc -filen.

For å få koden; vi må følge trinnene nedenfor for å starte VB -editor:

  • Klikk på kategorien Utvikler
  • Velg Visual Basic fra kodegruppen

  • Det er et viktig trinn du ikke må gå glipp av
  • Klikk på Verktøy for å velge Referanser
  • Rull ned til du finner “Microsoft Word 15.0 Object Library”
  • Sørg for at du merker av i boksen; se bildet under

  • Kopier koden nedenfor i standardmodulen
Sub CopyWorksheetsToWord () Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Create new document…" Set wdApp = New Word.Application Set wdDoc = wdApp.Documents.Add For hver ws I ActiveWorkbook.Worksheets Application.StatusBar = "Kopierer data fra" & ws.Name & "…" ws.UsedRange.Copy wdDoc.Paragraphs (wdDoc.Paragraphs.Count) .Range.InsertParagraphAfter wdDoc.Paragraphs (wdDoc.ParpharPar .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.Paragras Count) .Range .InsertParagraphBefore .Collapse Direction: = wdCollapseEnd .InsertBreak Type: = wdPageBreak End With End If Next ws Set ws = Nothing Application.StatusBar = "Clean up …" With wdApp.ActiveWindow If .View.SplitSpecial = wdPaneN. ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView Slutt hvis slutt med sett wdDoc = Nothing wdApp.Visible = True Set wdApp = Nothing Application.StatusBar = False End Sub 

For å teste koden, la oss sette inn 2 ark og legge til tilfeldige tall. Følgende er øyeblikksbildet av begge regnearkene:

1. ark:-

2. ark:-

  • Etter å ha satt opp dataene i regneark; vi kan kjøre makroen
  • Word -applikasjonen lanseres umiddelbart og data blir kopiert fra alle regnearkene til word; se øyeblikksbildet nedenfor

Hvis du tror at kopiering av dataene er en oppgave, men det bør være et sideskift mellom hver regnearkdata, slik at hvem som helst enkelt kan gjøre forskjellen mellom data fra hvert regneark.

Dataene ovenfor blir kopiert fra ett ark, og deretter vil VBA -koden sørge for å legge til sideskift mellom sidene.

Konklusjon: På denne måten kan vi hjelpe mange Microsoft Office -brukere som synes det er litt komplisert eller umulig å konvertere data fra Excel -filer til Word. Koden ovenfor har vist hvor enkelt man kan kopiere og lime inn data i word -fil uten oppstyr fra flere excel -ark til word doc -fil.

Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post