Kopier regnearksoplysninger til Word ved hjælp af VBA i Microsoft Excel

Anonim

Hvis du skal kopiere og indsætte data fra flere Excel -regneark i MS Word, skal du læse denne artikel. I excel er der ingen sådan funktion, der kan give dig mulighed for at konvertere data fra excel -projektmappe til word -fil. Word -applikation kan ikke åbne excel -filer direkte. Excel -data kan dog kopieres og indsættes i word og derefter gemmes som word -dokument.
Vi overfører alle data manuelt fra excel til word, hvilket nogle gange bliver kedeligt, når det kommer til at udføre de samme trin for mange gange om dagen; for at undgå de manuelle trin, skriver vi VBA -kode for at udføre alle trinene.

I denne artikel vil vi fokusere på at flytte data fra excel til word -dokument. Vi automatiserer hele proceduren via VBA -kode. Med makrokode kan du simpelthen kopiere dataene i et regneark ad gangen, og derefter vil word -applikationen blive lanceret automatisk & VBA -kode vil bruge indsæt -kommandoen til at indsætte dataene i doc -filen.

For at få koden; vi skal følge nedenstående trin for at starte VB -editor:

  • Klik på fanen Udvikler
  • Vælg Visual Basic i kodegruppen

  • Der er et vigtigt trin, som du ikke må gå glip af
  • Klik på Værktøjer for at vælge Referencer
  • Rul ned, indtil du finder “Microsoft Word 15.0 Object Library”
  • Sørg for at markere feltet; se billedet herunder

  • Kopier nedenstående kode i standardmodulet
Sub CopyWorksheetsToWord () Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Opretter nyt dokument …" Indstil 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 = "Rydder op …" Med wdApp.ActiveWindow If .View.SplitSpecial = wdPaneN. ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView Slut hvis slut med sæt wdDoc = Intet wdApp.Visible = True Sæt wdApp = Intet Application.StatusBar = False End Sub 

For at teste koden, lad os indsætte 2 ark og tilføje tilfældige tal. Følgende er snapshot af begge regneark:

1. ark:-

2. ark:-

  • Efter opsætning af dataene i regneark; vi kan køre makroen
  • Word -applikation lanceres med det samme, og data kopieres fra alle regneark til word; se nedenstående snapshot

Hvis du tror, ​​at kopiering af dataene er en opgave, men der bør være et sideskift mellem hver regnearksdata, så enhver let kan gøre forskellen mellem data fra hvert regneark.

Ovenstående data vil blive kopieret fra et ark, og derefter vil VBA -kode sørge for at tilføje sideskift mellem siderne.

Konklusion: På denne måde kan vi hjælpe mange Microsoft Office -brugere, der synes, at konvertering af data fra excel -fil til word er lidt kompliceret eller umuligt. Ovenstående kode har vist, hvor let man kan kopiere og indsætte data i word -fil uden ballade fra flere excelark til word doc -fil.

Hvis du kunne lide vores blogs, kan du dele den med dine venner på Facebook. Og også du kan følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre, supplere eller innovere vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet