Generer rapporter automatisk i excel

En af hovedfunktionerne i Microsoft Excel er evnen til at generere rapporter. Du kan oprette interaktive regneark for at gøre det nemmere for andre brugere at indtaste data i en projektmappe, og du kan også generere rapporter automatisk. Begge funktioner kræver en vis viden om Visual Basic. Følgende er trinene til at udføre begge opgaver.

Trin

Metode 1 af 2: Oprettelse af et interaktivt regneark

Billede med titlen Automatiser rapporter i Excel Trin 1
1. Beslut dig for layoutet af dit regneark. Regnearket bør organiseres på en sådan måde, at andre brugere hurtigt kan finde felterne til indtastning af data.
  • Du kan orientere dit regneark vandret eller lodret. De fleste brugere vil finde et lodret layout lettere at arbejde med, især hvis du ønsker, at de skal kunne udskrive regnearket.
Billede med titlen Automatiser rapporter i Excel Trin 2
2. Opret overskrifter til regnearket. Placer en overskrift over hver kolonne, samt i cellen til venstre for hver celle i kolonnen, hvor du vil placere inputfelterne.
Billede med titlen Automatiser rapporter i Excel Trin 3
3. Tryk på Alt- og F11-tasterne samtidigt. Dette åbner Microsoft Visual Basic-editoren.
Billede med titlen Automatiser rapporter i Excel Trin 4
4. Dobbeltklik på "Denne arbejdsbog" i vinduet "Projekt-VBA Projekt" øverst til venstre. Dette åbner et kodningsvindue i hovedredigeringsvinduet.
Billede med titlen Automatiser rapporter i Excel Trin 5
5. Vælg "Procedure" via Indsæt i hovedmenuen. Dialogboksen Indsæt procedure åbnes.
Billede med titlen Automatiser rapporter i Excel Trin 6
6. Indtast et navn for proceduren i feltet Navn. Giv proceduren et meningsfuldt navn, som f.eks "Samlede udgifter" hvis dit interaktive regneark vil blive brugt til at spore rejseudgifter. Klik på OK for at lukke dialogen.
  • Dit procedurenavn kan ikke indeholde mellemrum, men du kan bruge en bindestreg ( _ ) i stedet for et mellemrum.
  • Når dialogboksen `Indsæt procedure` lukkes, vil du se en linje `Public Sub` efterfulgt af navnet på proceduren. Under linjen vil du se et mellemrum og ordene `End Sub`.
    Billede med titlen Automatiser rapporter i Excel Trin 7
    7. Indtast koden for hvert inputfelt i regnearket. Du skal skrive to linjer kode for hver input.
  • Den første kodelinje er `Range("cellenavn").Vælg`, hvor "cellenavn" cellen skal repræsentere hvor inputfeltet vil blive placeret. Dette er cellen umiddelbart til højre for en tekstetiket; hvis der er en tekstetiket i celle A2, vil et inputfelt blive placeret i celle B2, så (Range("B2").Vælg). Sørg for, at anførselstegnene er omkring cellenavnet, men ikke omkring hele kodeblokken.
  • Den anden kodelinje ser ud som `ActiveCell.Værdi=InputBoks("InputPrompt")`, rigtigt "InputPrompt" er den tekst, der vises til brugeren for at angive, hvilken slags data der skal indtastes. Hvis udgiften til måltider for eksempel skal indtastes i inputcellen, erstatter du "InputPrompt" af "Indtast det samlede antal måltider, inklusive drikkepenge." (Placer anførselstegn rundt om inputteksten, men ikke rundt om hele kommandoen).
    Billede med titlen Automatiser rapporter i Excel Trin 8
    8. Indtast kode for hvert beregningsfelt. Igen bruger du de samme to linjer som ovenfor, men denne gang ActiveCell.Værdi er en beregningsfunktion, såsom SUM, i stedet for InputBox-funktionen, som bruges til at vise inputmeddelelsen.
    Billede med titlen Automatiser rapporter i Excel Trin 9
    9. Tilføj en kodelinje for at gemme dit interaktive regneark. Koden er `ActiveWorkbook.Gem som filnavn:="filnavn.xls" `, hvorved "filnavn" er navnet på dit interaktive regneark. (Sæt citater rundt "filnavn.xls", men ikke omkring det fulde eksempel).
    Hvis du har Excel 2007 eller nyere, kan du bruge output `.xls` erstattet af `.xlsx`, men hvis nogle af brugerne af dit interaktive regneark bruger Excel 2003 eller tidligere, vil de ikke være i stand til at bruge regnearket uden et plugin.
    Billede med titlen Automatiser rapporter i Excel Trin 10
    10. Tryk på Alt og Q på samme tid. Lukker Visual Basic-editoren.
    Billede med titlen Automatiser rapporter i Excel Trin 11
    11. Tryk på Alt og F8 på samme tid. Dette åbner makrovinduet.
    Billede med titlen Automatiser rapporter i Excel Trin 12
    12. Klik på navnet på din procedure i makrolisten. Hvis dette er den eneste procedure på listen, vil den automatisk blive valgt.
    Billede med titlen Automatiser rapporter i Excel Trin 13
    13. Klik på knappen Indstillinger. Du vil nu blive bedt om at vælge et tegn til at oprette en tastekombination med Ctrl-tasten. Vælg et meningsfuldt bogstav, der endnu ikke er brugt som genvej, f.eks. et `i` for `input`.
    Billede med titlen Automatiser rapporter i Excel Trin 14
    14. Klik på `OK` for at lukke vinduet Makroindstillinger. Du kan nu udlevere dit interaktive regneark til potentielle brugere. Efter at have åbnet den, kan de bruge tastaturgenvejen til at aktivere dataindtastning og følge de meddelelser, du har oprettet til dataindtastning.

    Metode 2 af 2: Automatiser rapportgenerering

    Billede med titlen Automatiser rapporter i Excel Trin 15
    1. Gør din rapport til en pivottabel. Pivottabeller er designet til at skabe oversigter over data, så du kan sammenligne tal og spotte tendenser. Din pivottabel skal være linket til data andre steder i dit regneark eller importeret fra en database.
    Billede med titlen Automatiser rapporter i Excel Trin 16
    2. Skriv et Visual Basic-script for at åbne og lukke rapporten. Scriptet skal udføre funktionerne nedenfor. Hver funktion er beskrevet efterfulgt af koden, der skal implementeres i firkantede parenteser. Når du skriver den faktiske programkode, skal du skrive dette i en enkelt blok, erstatte eksempelnavnene med dine egne navne og ikke inkludere de firkantede parenteser, der omgiver hele eksemplet.
  • Åbn regnearket i skrivebeskyttet tilstand. [DIM XLAppSet XLApp=CreateObject("Excel.app")xlapp.synlig=falsekslapp.arbejdsbøger.åben \excellocfilnavn.xls,3,]
  • Opdater dataene og gem rapporten (i dette eksempel som PDF med et datostempel). [Truexlapp.aktiv arbejdsbog.RefreshAllxlapp.aktiv arbejdsbog.ExportAsFixedFormat xlTypePDF, \pdflocrapportnavn_ & DatoPart("åååå, nu()) & "-" & ret("0" & DatoPart("m",Nu()),2) & "-" ret("0" & DatoPart("d",Nu()),2) & ".pdf"] Er dit outputdokument i et andet format, skal du erstatte `.pdf` derefter gennem den passende slutning for det pågældende format.
  • Luk regnearket uden at gemme det, og luk Excel. [xlQualityStandardxlapp.aktiv arbejdsbog.luk Falsexlapp.Afslut]
  • Anvendelse `.xlsx` i stedet for `.xls` som output af regnearkets navn, hvis dit regneark er gemt i det XML-baserede format af Excel 2007 og nyere.
    Billede med titlen Automatiser rapporter i Excel Trin 17
    3. Skriv et batchscript i Notesblok (og gem det senere som `.bat`) for at starte Visual Basic-scriptet. Dette er nødvendigt for at Visual Basic-scriptet kan køre automatisk. Uden batchscriptet skal VB-scriptet køres manuelt.
    Hvis dit script er i dette format, skal du erstatte den angivne mappe og filnavn med dit eget, og udelad de firkantede parenteser: [cscript /nologo \filelocscript.vbs]
    Billede med titlen Automatiser rapporter i Excel Trin 18
  • 4. Skriv et batchscript for at kontrollere, om outputfilen eksisterer, når den oprettes. Scriptet skal beskrive funktionerne nedenfor. Hver funktion efterfølges af kode, der skal implementeres i firkantede parenteser. Når du skal skrive den faktiske kode, så gør det i én blok og erstat navnene på eksemplerne med dine egne navne uden firkantede parenteser.
  • Tjek om outputfilen findes. [for /f "tokens=2-4 delims=/ " %%a i (`dato /t`) skal du indstille rreport=rapportnavn_%%c-%%a-%%b.pdf)] Hvis outputfilen ikke er en PDF, udskift ".pdf" derefter ved den højre forlængelse.
  • Hvis outputfilen/rapporten findes, e-mail den til de personer, der har brug for den. [Hvis eksisterer \pdfloc%rrapport% (sendemail -f afsender@senderdomæne.com -t modtager@modtagerdomæne.com -u Planlagt rapport -m Rapport %%rapport% er vedhæftet. -a pdfloc%rreport% -s din server:port -xu brugernavn -xp adgangskode)]
  • Hvis outputfilen/rapporten ikke findes på den specifikke placering, skal du få proceduren til at sende dig en besked om, at afsendelsen mislykkedes. [ Else ( sendemail -f [email protected] -t afsender@senderdomæne.com -u Rapport kørte ikke -m fil %rreport% eksisterer ikke i \pdfloc -s din server:port -xu brugernavn -xp adgangskode)]
    Billede med titlen Automatiser rapporter i Excel Trin 19
  • 5. Kontroller, om mappen `Desktop` findes på computeren. Du skal kontrollere, at skrivebordsmappen findes for både et 32-bit og et 64-bit system. Hvis du ikke gør dette, skal Excel og dit regneark åbnes manuelt.
  • Placering på 32-bit system: c:windowssystem32configsystemprofile
  • Placering på 64-bit system: c:windowssyswow64configsystemprofile
    Billede med titlen Automatiser rapporter i Excel Trin 20
  • 6. Planlæg om nødvendigt en opgave til at køre scripts. Batch-scripts skal køres kontinuerligt i rækkefølge, uanset om nogen bruger computeren eller ej. Effekten skal indstilles så højt som muligt.

    Tips

    Planlagte opgaver køres bedst fra en server, normalt fra en systemkonto med administratorrettigheder. Den eneste ulempe ved at køre opgaver fra en systemkonto er, at ingen brugergrænseflade er tilgængelig; men automatiserede opgaver kører generelt i baggrunden, uden at brugeren bemærker det.

    Оцените, пожалуйста статью