Kopiera kalkylbladsinformation till Word med VBA i Microsoft Excel

Anonim

Om du måste kopiera och klistra in data från flera Excel -kalkylblad till MS Word bör du läsa den här artikeln. I Excel finns det ingen sådan funktion som gör att du kan konvertera data från Excel -arbetsbok till word -fil. Word -program kan inte öppna excel -filer direkt. Excel -data kan dock kopieras och klistras in i word och sedan sparas som word -dokument.
Vi överför alla data manuellt från excel till word vilket blir tråkigt ibland när det gäller att utföra samma steg för många gånger på en dag; för att undvika de manuella stegen skriver vi VBA -kod för att utföra alla steg.

I den här artikeln kommer vi att fokusera på att flytta data från excel till word -dokument. Vi kommer att automatisera hela proceduren via VBA -kod. Med makrokod kan du helt enkelt kopiera data i ett kalkylblad åt gången och sedan startas ordprogrammet automatiskt & VBA -kod använder klistra in kommandot för att infoga data i doc -filen.

För att få koden; vi måste följa stegen nedan för att starta VB -editor:

  • Klicka på fliken Utvecklare
  • Välj Visual Basic i kodgruppen

  • Det finns ett viktigt steg som du inte får missa
  • Klicka på Verktyg för att välja Referenser
  • Rulla ner tills du hittar "Microsoft Word 15.0 Object Library"
  • Se till att du kryssar i rutan; se bilden nedan

  • Kopiera koden nedan 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 För varje ws i ActiveWorkbook.Worksheets Application.StatusBar = "Kopierar data från" & ws.Name & "…" ws.UsedRange.Copy wdDoc.Paragraphs (wdDoc.Paragraphs.Count) .Range.InsertParagraphAfter wdDoc.Paragraphs (wdDoc.PagraphPar .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 Avsluta om slut med uppsättning wdDoc = Ingenting wdApp.Visible = True Set wdApp = ingenting Application.StatusBar = False End Sub 

För att testa koden, låt oss infoga 2 ark och lägga till slumpmässiga nummer. Följande är ögonblicksbilden av båda kalkylbladen:

1: a bladet:-

2: a arket:-

  • Efter att ha ställt in data i kalkylblad; vi kan köra makrot
  • Word -program startas omedelbart & data kommer att kopieras från alla kalkylblad till word; se ögonblicksbild nedan

Om du tror att kopiering av data är en uppgift men det borde vara en sidbrytning mellan varje kalkylbladdata så att vem som helst enkelt kan göra skillnad mellan data från varje kalkylblad.

Ovanstående data kommer att kopieras från ett ark & ​​sedan kommer VBA -koden att se till att lägga till sidbrytning mellan sidorna.

Slutsats: På så sätt kan vi hjälpa många Microsoft Office -användare som tycker att det är lite komplicerat eller omöjligt att konvertera data från excel -fil till word. Ovanstående kod har visat hur enkelt man kan kopiera och klistra in data i word -fil utan krångel från flera excelark till word doc -fil.

Om du gillade våra bloggar, dela den med dina vänner på Facebook. Och du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra, komplettera eller förnya vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen