Opdateret af Brad Jones den 25. august 2017.
I løbet af din arbejdsuge er der sandsynligvis mange gange, at du finder dig selv at kopiere og indsætte information fra Microsoft Excel til Word, eller omvendt.
Sådan producerer folk ofte skriftlige rapporter baseret på data, der er akkumuleret og opdateret i et regneark. Excel er et godt program til alt fra at skabe professionelt udseende diagrammer 6 Nye Excel-kort og hvordan man bruger dem 6 Nye Excel-diagrammer og hvordan man bruger dem Har du brug for at få mere ud af dine Excel-diagrammer? Her er en one-stop guide til nogle af de nye diagrammer, der blev introduceret i den nyeste version af Excel. Læs mere, at oprette en projektstyringssporing 10 + Nyttige Excel-skabeloner til projektstyring og -sporing 10 + Nyttige Excel-skabeloner til projektstyring og sporing Skabeloner er at projektledere, hvilke knive der er til professionelle kokke: uundværlige. Vi viser dig, hvordan du kan replikere succesfulde projekter ved at bruge færdige skabeloner i Microsoft Excel og videre. Læs mere - men når det kommer til at skrive en rapport, er Word et meget bedre værktøj.
I denne artikel vil vi dykke i baggrunds-VBA-script, der gør det muligt at programmere forbindelserne mellem data, der er gemt i en Excel-fil og Word-dokumenter, hvor du producerer rapporter.
Det er overraskende nemt at integrere Microsoft Excel-data i Microsoft Word, når du ved, hvordan du tilføjer de rigtige referencer, og hvordan du lægger ud af syntaksen af baggrunden VBA-koden.
Opsætning af regnearket
I dette eksempel vil jeg starte med et ret simpelt Excel-regneark. I praksis kan Excel-filen bestå af flere regneark med masser af data - det er ligegyldigt.
Så længe du ved, hvor du finder dataene i regnearket, kan du nå og få fat i det ved hjælp af VBA Sådan sender du e-mails fra et Excel-regneark ved hjælp af VBA-scripts Sådan sender du e-mails fra et Excel-regneark ved hjælp af VBA-scripts Vi Jeg vil vise dig, hvordan du konfigurerer automatiserede e-mails fra inden for Excel ved hjælp af Collaboration Data Objects, (CDO) og VBA scripts. Vores kode skabeloner gør dette meget lettere end det lyder! Læs mere .
Her er, hvad min prøve regneark ser ud. Det er en liste over omkostningsberegninger, der er beregnet hele året.
Opsætning af Word-dokumentet
Lad os sige, at du har en leder, der gerne vil se en pænt formateret rapport, der beskriver udgifterne, grupperer sammen som elementer og præsenterer oplysningerne i et layout, der er lidt mere æstetisk tiltalende.
Du kan gøre dette ved at inkorporere objekter som tekstbokse og etiketter i dit Word-dokument. Når du er i Word, skal du bare klikke på fanen Udvikler- menu og derefter vælge "Design Mode" i afsnittet Kontrol . Brug rullemenuen Legacy Tools til at indsætte forskellige elementer i dit dokument.
Brug denne menu til at indsætte en etiket .
Når du har mærket placeret i dokumentet, hvor du vil have det (ikke altid en nem opgave), er du klar til at programmere datafeedet. Men først skal du navngive etiketten, så VBA kan identificere den. Højreklik på etiketten og gå til Egenskaber . Find feltet (Navn) og kalder det noget, som du vil huske.
Tilføj nu en kommandoknap fra den samme rulleliste for Legacy Tools, og dobbeltklik på den for at åbne VBA-editoren. Når du får din kode til at fungere senere, kan du ændre den, så koden kører på Document Open () . Du kan se det i rullemenuen objekt i redigeringsvinduet.
Arbejder med VBA
For at komme i gang med at forbinde Word til Excel, skal du sørge for at du kan referere sidstnævnte i VBA Excel VBA Programmering Tutorial for Beginners Excel VBA Programmering Tutorial for Beginners VBA er et Microsoft Office power tool. Du kan bruge den til at automatisere opgaver med makroer, sæt triggere og meget mere. Vi introducerer dig til Excel Visual Basic Programmering med et simpelt projekt. Læs mere .
Forbered Excel Data Import
Klik på Værktøjer, og derefter Referencer . Rul ned på listen, indtil du ser Microsoft Excel 16.0 Object Library og vælg det.
Når du har gjort dette, er resten bare et spørgsmål om at skrive et latterligt simpelt VBA-script til at trække data fra et Excel-regneark og automatisk opdatere etiketteksten med dataene.
Her er koden:
Privat Sub CommandButton1_Click () Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Set exWb = objExcel.Workbooks.Open ("C: \ Users \ Brad \ Desktop \ expenses.xlsx") ThisDocument.total_expenses.Caption = exWb. Ark ("Sheet1"). Celler (12, 2) exWb.Close Set exWb = Intet End Sub
Se hvordan det virker? Eksempelprogrammet "exWb" Excel åbner Microsoft Excel-filen på den vej, du giver den, og den går direkte ind i det specifikke ark og celle nummer, udpakker dataene og placeres i egenskaben Caption på etiketten, som jeg hedder total_expenses . Alt du behøver for at redigere i dit script er filsti og etiketnavn.
Test din makro
For at teste din kommandoknap skal du gemme dit dokument og huske at angive, at du vil have et Word Macro-Enabled-dokument, så din kode fungerer.
Her er VBA-makroen i aktion.
Integrér Excel-etiketter
Den svære del med at håndtere etiketter i Word er, at det nogle gange er svært at justere det i slutningen af en sætning eller sammen med enhver anden tekst.
En måde at overvinde der er faktisk at inkorporere nogle af teksten sammen med dataene i VBA-koden selv. Som du kan se her, har jeg lagt den statiske tekst lige ind i billedteksten, når jeg selv opretter etiketten.
Nu er alt, hvad du skal gøre, at inkludere den tekst, når du opdaterer etiketten med dit VBA-script, og tilføj kun dataene fra Microsoft Excel-filen til slutningen af den pågældende tekst.
Her er hvad den slags kode ville se ud.
Dim objExcel Som Ny Excel.Application Dim exWb Som Excel.Workbook Set exWb = objExcel.Workbooks.Open ("c: \ Brugere \ Brad \ Desktop \ expenses.xlsa") ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1" ) .Cells (12, 2) ThisDocument.total_hotels.Caption = "Hoteller:" & exWbSheets ("Sheet1"). Celler (5, 2) ThisDocument.total_dining.Caption = "Spise ude:" & exWbSheets "Sheet1"). Celler (2, 2) ThisDocument.total_tolls.Caption = "Tolls:" & exWb.Sheets ("Sheet1"). Celler (3, 2) ThisDocument.total_fuel.Caption = "Brændstof:" & exWb. Ark ("Sheet1"). Celler (10, 2) exWb.Close Indstil exWb = Intet
Du kan bruge strengeforbindelsen "&" -symbolet til at placere forbinde den statiske tekst med dataene hentet fra Excel-arket. Sådan ser de endelige resultater ud i det opdaterede Word-dokument:
Tager ting videre
Hvis du vil teste dine evner, hvorfor ikke automatisere din rapport. 5 Ressourcer til Excel-makroer til at automatisere dit regneark 5 Ressourcer til Excel-makroer til at automatisere dit regneark Søgning efter Excel-makroer? Her er fem websteder, der har fået det, du leder efter. Læs mere endnu mere? Du kan fjerne den grimte grå kommandoknap fra dit Microsoft Word-dokument, simpelthen ved at have datopdateringsskriptet køre på Document.Open () - hele processen finder sted bag kulisserne.
Det betyder, at du i mange tilfælde kan oprette det oprindelige dokument en gang og derefter aldrig skulle oprette det igen. Alt du skal gøre er at åbne det, og alle etiketterne opdateres automatisk for dig med dataene fra den opdaterede Microsoft Excel-fil. Bare klik på Udskriv, og send rapporten til din chef. Et job på 30 minutter er lige blevet til et minuts udskrivning!
Kan du tænke på andre cool anvendelser til denne data-integrationsteknik ved hjælp af VBA? Del nogle af dine egne ideer og tanker i kommentarfeltet nedenfor.
Billedkredit: Punyaphat Larpsomboon via Shutterstock.com