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

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

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.

Steg 3. Tryck på alt="Bild" och F11 -tangenterna tillsammans
Denna tangentkombination öppnar Microsoft Visual Basic -redigeraren.

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.

Steg 5. Välj "Procedure" från menyn Infoga
Dialogrutan Lägg till procedur visas.

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."

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.)

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.

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

Steg 10. Tryck på alt="Bild" och Q samtidigt
Visual Basic -redigeraren stängs.

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

Steg 12. Klicka på procedurnamnet i listan Makron
Om det skapade förfarandet är det enda i listan väljs det automatiskt.

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".

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

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.

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.

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]

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)]

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

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.