Så här automatiserar du rapporter i Excel (med bilder)

Innehållsförteckning:

Så här automatiserar du rapporter i Excel (med bilder)
Så här automatiserar du rapporter i Excel (med bilder)

Video: Så här automatiserar du rapporter i Excel (med bilder)

Video: Så här automatiserar du rapporter i Excel (med bilder)
Video: 10 RÅD FÖR DIG OCH DIN PARTNER! 2024, Maj
Anonim

Microsoft Excel har olika funktioner och en av dem genererar rapporter automatiskt. Du kan skapa interaktiva kalkylblad för att förenkla processen att mata in data för andra i arbetsboken, samtidigt som du automatiserar rapportgenereringen. Båda dessa funktioner kräver tillräcklig kunskap om Visual Basic. Stegen för att utföra båda uppgifterna beskrivs nedan.

Steg

Metod 1 av 2: Skapa ett interaktivt kalkylblad

Automatisera rapporter i Excel Steg 1
Automatisera rapporter i Excel Steg 1

Steg 1. Bestäm layouten för kalkylbladet

Layouten för kalkylarket måste göras så att andra kan hitta de fält som behövs för att mata in data.

Kalkylarklayouter kan läggas horisontellt eller vertikalt. De flesta användare tycker att det är lättare att arbeta med en vertikal layout, särskilt om kalkylarket kommer att skrivas ut

Automatisera rapporter i Excel Steg 2
Automatisera rapporter i Excel Steg 2

Steg 2. Skapa textetiketter för kalkylarket

Skriv en etikett högst upp i varje kolumn och till vänster om varje cell i kolumnen planerar du att använda som datainmatning.

Automatisera rapporter i Excel Steg 3
Automatisera rapporter i Excel Steg 3

Steg 3. Tryck på alt="Bild" och F11 -tangenterna tillsammans

Denna tangentkombination öppnar Microsoft Visual Basic -redigeraren.

Automatisera rapporter i Excel Steg 4
Automatisera rapporter i Excel Steg 4

Steg 4. Dubbelklicka på "Denna arbetsbok" i rutan "Projekt-VBA-projekt" längst upp till vänster

Ett fönster för att skriva kod visas i huvuddelen av redigeraren.

Automatisera rapporter i Excel Steg 5
Automatisera rapporter i Excel Steg 5

Steg 5. Välj "Procedure" från menyn Infoga

Dialogrutan Lägg till procedur visas.

Automatisera rapporter i Excel Steg 6
Automatisera rapporter i Excel Steg 6

Steg 6. Ange procedurens namn i fältet Namn

Ange ett meningsfullt namn för proceduren, till exempel "SumExpenses" om kalkylarket ska användas för att rapportera resekostnader. Klicka på OK för att stänga dialogrutan.

  • Procedurnamn kan inte innehålla mellanslag, men kan använda en understrykning (_) för att ersätta mellanslag.
  • När dialogrutan Lägg till förfarande stängs visas en rad med namnet "Offentlig under" följt av procedurens namn. Under den raden finns ett mellanslag och orden "End Sub."
Automatisera rapporter i Excel Steg 7
Automatisera rapporter i Excel Steg 7

Steg 7. Ange koden för varje inmatningsfält i kalkylbladet

Du kommer att skriva två rader kod för varje post.

  • Den första kodraden är i form av "Range (" cellname "). Välj", "cellname" representerar cellen där inmatningen matas in. Fyll i namnet på cellen som är omedelbart till höger om textetiketten. Om textetiketten finns i cell A2 är fältet för inmatning cell B2 (intervall ("B2"). Välj). Citattecknen före och efter cellnamnet skrivs fortfarande i detta skede, men ingår inte längre i det fullständiga koduttrycket.
  • Koden på den andra raden är "ActiveCell. Value = InputBox (" InputPrompt ")". "InputPrompt" representerar texten som visas för att meddela användaren vilken typ av data som ska matas in i inmatningscellen. Till exempel, om ingångscellen kommer att fyllas med matkostnader, ersätt "InputPrompt" med "Ange totala utgifter för måltider, inklusive tips." (Citattecken för inmatningsinstruktionstexten ingår fortfarande, medan citattecken före och efter kommandot inte behöver skrivas.)
Automatisera rapporter i Excel Steg 8
Automatisera rapporter i Excel Steg 8

Steg 8. Ange koden för varje beräkningsfält

Återigen är de två raderna samma som tidigare, men denna gång är ActiveCell. Value en beräkning av en numerisk funktion, till exempel SUM, där funktionen InputBox -funktionen används för att visa inmatningsinstruktioner.

Automatisera rapporter i Excel Steg 9
Automatisera rapporter i Excel Steg 9

Steg 9. Lägg till en kodrad för att spara ditt interaktiva kalkylblad

Formatet är "ActiveWorkbook. SaveAs Filnamn: =" Filnamn.xls "." Filnamn "är namnet på det interaktiva kalkylarket. (Citattecken före och efter" Filnamn.xls "förblir skrivna medan citattecken för alla kommandon är krävs inte.)

Om du använder Microsoft Excel version 2007 eller senare använder du ".xlsx" istället för ".xls". Men om det finns interaktiva kalkylarkanvändare med Excel 2003-version och senare kommer de inte att kunna använda kalkylbladet utan ett plugin-program för läsare

Automatisera rapporter i Excel Steg 10
Automatisera rapporter i Excel Steg 10

Steg 10. Tryck på alt="Bild" och Q samtidigt

Visual Basic -redigeraren stängs.

Automatisera rapporter i Excel Steg 11
Automatisera rapporter i Excel Steg 11

Steg 11. Tryck på alt="Bild" och F8 samtidigt

Dialogrutan Makro visas.

Automatisera rapporter i Excel Steg 12
Automatisera rapporter i Excel Steg 12

Steg 12. Klicka på procedurnamnet i listan Makron

Om det skapade förfarandet är det enda i listan väljs det automatiskt.

Automatisera rapporter i Excel Steg 13
Automatisera rapporter i Excel Steg 13

Steg 13. Klicka på knappen Alternativ

Du kommer att bli ombedd att ange ett tangentbordstecken som ska användas som en genväg med Ctrl -tangenten. Välj en meningsfull bokstav som inte har använts som genvägstecken, till exempel "e" för "post".

Automatisera rapporter i Excel Steg 14
Automatisera rapporter i Excel Steg 14

Steg 14. Klicka på "OK" för att stänga dialogrutan Makroalternativ

Nu kan du distribuera interaktiva kalkylblad till användare. Efter att ha öppnat den kan användaren använda genvägstangenterna för att skriva in och följa instruktionerna du skapade för att fylla i data.

Metod 2 av 2: Automatisera rapportgenerering

Automatisera rapporter i Excel Steg 15
Automatisera rapporter i Excel Steg 15

Steg 1. Skapa en rapport i en pivottabell

Pivottabeller är utformade för att sammanfatta data så att du kan jämföra siffror och identifiera trender. Pivottabellen måste relatera till data som finns i en av databehandlarna eller importeras från en specifik databas.

Automatisera rapporter i Excel Steg 16
Automatisera rapporter i Excel Steg 16

Steg 2. Skriv ett Visual Basic -skript för att öppna och stänga rapporten

Skriptet ska kunna utföra de olika funktionerna som anges nedan. Varje funktion kommer att beskrivas följt av koden som ges inom parentes för att implementera den. När du skriver verklig kod, skriv den i ett enda block, ersätt namnet i exemplet med ditt eget, och inkludera inte parenteser i början och slutet av kodprovet.

  • Öppna kalkylbladet i skrivskyddat läge. [DIM XLAppSet XLApp = CreateObject ("Excel. App") xlapp.visible = falsexlapp.workbooks.open / excelloc / filename.xls, 3,]
  • Ladda om data och spara rapporten, i detta exempel sparas den som en PDF -fil med datumtexten. [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, / pdfloc / reportname_ & DatePart ("yyyy, Now ()) &"-"& Right (" 0 "& DatePart (" m ", Now ()), 2) & "-" Right ("0" & DatePart ("d", Now ()), 2) & ".pdf"] Om utmatningsdokumentformatet är annorlunda, ersätt ".pdf" -formatet med rätt förlängning som önskat.
  • Stäng kalkylarket utan att spara det och stäng sedan Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
  • Använd ".xlsx" istället för ".xls" i slutet av kalkylarket om kalkylarket sparas i Excel 2007 och ett senare XML-baserat format.
Automatisera rapporter i Excel Steg 17
Automatisera rapporter i Excel Steg 17

Steg 3. Skriv ett batchskript för att starta Visual Basic -skriptet

Syftet med att skriva manuset är så att Visual Basic -skript kan köras automatiskt. Utan batchskript måste VB -skript köras manuellt.

Skriptet är skrivet i följande format och ersätts med ditt eget mappnamn och filnamn för namnet i detta exempel: [cscript /nologo / fileloc / script.vbs]

Automatisera rapporter i Excel Steg 18
Automatisera rapporter i Excel Steg 18

Steg 4. Skriv ett batchskript för att säkerställa att utdatafilen existerar som skapad

Ditt skript bör utföra nedanstående funktioner. Varje funktion kommer att följas av koden som anges inom parentes för att implementera den. När du skriver verklig kod, skriv den i ett enda block, ersätt namnet i exemplet med namnet du behöver, och inkludera inte parenteser i början och slutet av provkoden.

  • Kontrollera om det finns en utdatafil. [For /f "tokens = 2-4 delims = /" %% a in ('date /t') set rreport = reportname _ %% c-%% a-%% b.pdf)] If the output file format är inte PDF, ersätt ".pdf" med lämpligt tillägg.
  • Om utdatafilen/rapporten finns, skicka den som ett e -postmeddelande till den som behöver den. [Om det finns / pdfloc \%rreport%(sendmail -f [email protected] -t [email protected] -u Schemalagd rapport -m Rapport %% rapport%bifogas. -A / pdfloc \%rreport%-s din server: port -xu användarnamn -xp lösenord)]
  • Om utdatafilen/rapporten inte finns på den angivna platsen, skapa ett förfarande så att det kan skicka ett meddelande om att leveransen misslyckades. [Annars (sendmail -f [email protected] -t [email protected] -u Rapporten kördes inte -m filen % rreport % finns inte i / pdfloc / -s din server: port -xu användarnamn -xp lösenord)]
Automatisera rapporter i Excel Steg 19
Automatisera rapporter i Excel Steg 19

Steg 5. Se till att mappen "Skrivbord" finns på datorn

Du måste verifiera att skrivbordsmappen finns för både 32-bitars och 64-bitars system. Annars måste Excel och kalkylbladet öppnas manuellt.

  • 32-bitars systemplats: c: / windows / system32 / config / systemprofil
  • 64-bitars systemplats: c: / windows / syswow64 / config / systemprofil
Automatisera rapporter i Excel Steg 20
Automatisera rapporter i Excel Steg 20

Steg 6. Schemalägg uppgifter för att köra skript efter behov

Batchskript måste köras sekventiellt och kontinuerligt, även om ingen använder datorn. Privilegier måste ställas in på högsta möjliga inställning.

Rekommenderad: