Genereer verslae outomaties in Excel

Een van die belangrikste funksies van Microsoft Excel is die vermoë om verslae te genereer. U kan interaktiewe sigblaaie maak om dit vir ander gebruikers makliker te maak om data in `n werkboek in te voer. Dit is ook moontlik om verslae outomaties te genereer. Beide funksies vereis `n bietjie kennis van Visual Basic. Hieronder is die stappe om albei take uit te voer.

stappe

Metode 1
Skep van `n interaktiewe sigblad

Prent getiteld Outomatiseer verslae in Excel Stap 1
1
Besluit op die uitleg van jou sigblad. Die sigblad moet gereël word sodat ander gebruikers die velde vinnig kan vind vir die invoer van data.
  • U kan u sigblad horisontaal of vertikaal oriënteer. Die meeste gebruikers vind `n vertikale uitleg makliker om saam te werk, veral as hulle wil hê dat hulle die sigblad kan druk.
  • Prent getiteld Outomatiseer verslae in Excel Stap 2
    2
    Maak opskrifte vir die sigblad. Plaas `n kop bokant elke kolom, sowel as in die sel aan die linkerkant van elke sel van die kolom waar u die invulvelde wil plaas.
  • Prent getiteld Outomatiseer verslae in Excel Stap 3
    3
    Druk die Alt en F11 sleutels terselfdertyd. Dit maak die Microsoft Visual Basic-redakteur oop.
  • Prent getiteld Outomatiseer verslae in Excel Stap 4
    4
    Dubbelklik "Hierdie werkboek" in die venster "Projek-VBA Projek" bo links. Hiermee word `n kodering venster in die hoof editor venster oop.
  • Prent getiteld Outomatiseer verslae in Excel Stap 5
    5
    Kies "prosedure" via Invoer in die hoofkieslys. Die dialoog Insert Procedure word oop.
  • Prent getiteld Outomatiseer verslae in Excel Stap 6
    6
    Voer `n naam vir prosedure in die Naam veld in. Gee die prosedure `n betekenisvolle naam, soos "TotaalUitgaven" as jou interaktiewe sigblad gebruik gaan word vir die dop van reiskoste. Klik OK om die dialoog te sluit.
  • Jou prosedure naam kan nie spasies bevat nie, maar jy kan `n streep (_) gebruik in plaas van `n spasie.
  • As die dialoog Invoegproses sluit, sal jy `n "Openbare Sub" -reël sien, gevolg deur die naam van die prosedure. Onder die reël sien jy `n spasie en die woorde `Einde Sub`.
  • Prent getiteld Outomatiseer verslae in Excel Stap 7
    7
    Voer die kode vir elke invoerveld in die sigblad in. Jy sal twee reëls kode skryf vir elke inskrywing.
  • Die eerste reël kode is `Bereik ("sel naam"). Kies `, waar "sel naam" die sel moet verteenwoordig waar die insetveld kom. Dit is die sel direk regs van `n teksetiket - daar is `n teksetiket in sel A2, dan is daar `n invoerveld in sel B2, so (Reeks ("B2"). Kies). Maak seker dat die aanhalingstekens rondom die selnaam is, maar nie om die hele kodeblok nie.
  • Die tweede reël kode lyk soos "ActiveCell.Value = InputBox ("InputPrompt") `, waar "InputPrompt" Die teks word aan die gebruiker gewys om aan te dui watter tipe data ingesleutel moet word. Byvoorbeeld, as die koste van etes in die invoersel ingevoer moet word, vervang jy "InputPrompt" met "Gee `n totaal van alle etes, insluitend wenke." (Plaas die aanhalings rondom die inset teks, maar nie rondom die hele opdrag nie).
  • Prent getiteld Outomatiseer verslae in Excel Stap 8
    8
    Voer kode in vir elke berekeningsveld. Jy gebruik dieselfde twee reëls as hierbo, maar hierdie keer is ActiveCell.Value `n berekeningsfunksie, soos SUM, in plaas van die funksie InputBox wat gebruik word om die insetboodskap te vertoon.
  • Prent getiteld Outomatiseer verslae in Excel Stap 9
    9
    Voeg `n kode reël by om jou interaktiewe sigblad te stoor. Die kode is `ActiveWorkbook.SaveAs Leêrnaam: ="Bestandsnaam.xls" `, waar "Lêernaam" die naam is van jou interaktiewe sigblad. (Plaas aanhalingstekens rond "Bestandsnaam.xls"maar nie om die volle voorbeeld nie).
  • Beskik jy oor Excel 2007 of later, dan kan jy die uitgang `.xls` vervang deur `.xlsx`, maar as sommige van die gebruikers van jou interaktiewe spreadsheet Excel 2003 of vroeër gebruik, dan sal diegene nie in staat wees om die sigblad om te gebruik sonder `n invoegtoepassing.
  • Prent getiteld Outomatiseer verslae in Excel Stap 10
    10
    Druk Alt en Q gelyktydig. Dit sluit die Visual Basic-redakteur.
  • Prent getiteld Outomatiseer verslae in Excel Stap 11


    11
    Druk Alt en F8 terselfdertyd. Dit maak die Macro-venster oop.
  • Prent getiteld Outomatiseer verslae in Excel Stap 12
    12
    Klik op die naam van u prosedure in die Makro-lys. As dit die enigste prosedure in die lys is, sal dit outomaties gekies word.
  • Prent getiteld Outomatiseer verslae in Excel Stap 13
    13
    Klik op die Opsies knoppie. U sal nou gevra word om `n karakter te kies vir `n sleutel kombinasie met die Ctrl sleutel. Kies `n betekenisvolle brief wat nog nie as `n kortpad gebruik word nie, soos `n `I` vir `invoer`.
  • Prent getiteld Outomatiseer verslae in Excel Stap 14
    14
    Kliek `OK` om die venster Macro-opsies te sluit. U kan nou u interaktiewe sigblad aan potensiële gebruikers versprei. Nadat hulle dit oopgemaak het, kan hulle die snelkoppeling gebruik om die invoer van data in te skakel, en volg die kennisgewings wat jy gemaak het vir die invoer van data.
  • Metode 2
    Outomatiseer die generering van verslae

    Prent getiteld Outomatiese verslae in Excel Stap 15
    1
    Maak jou verslag `n draai tabel. Draaistabelle is ontwikkel om oorsigte van data te skep sodat jy getalle kan vergelyk en tendense kan herken. Jou draaitabel moet gekoppel word aan data elders in jou sigblad of vanaf `n databasis ingevoer word.
  • Prent getiteld Outomatiseer verslae in Excel Stap 16
    2
    Skryf `n Visual Basic-script om die verslag oop te maak en te sluit. Die skrif moet die onderstaande funksies uitvoer. Elke funksie word beskryf, gevolg deur die kode wat tussen vierkantige hakies geïmplementeer moet word. Wanneer u die werklike programkode skryf, skryf u dit in `n enkele blokkie, vervang die voorbeeldname met u eie name, en moenie die vierkantige hakies rondom die hele voorbeeld insluit nie.
  • Maak die sigblad oop in leesalleenmodus. [DIM XLAppSet XLApp = CreateObject ("Excel.App") xlapp.visible = falsexlapp.workbooks.open excelloc filename.xls, 3,]
  • Herlaai die data en stoor die verslag (in hierdie voorbeeld as `n PDF met `n datumstempel). [Truexlapp.activeworkbook.RefreshAllxlapp.activeworkbook.ExportAsFixedFormat xlTypePDF, pdfloc reportname_ & DatePart ("jjjj, nou ()) & "-" & Regs (Regs"0" & DatePart ("m", Nou ()), 2) & "-" Regs (Regs"0" & DatePart ("d", Nou ()), 2) & ".pdf"] As u uitset dokument in `n ander formaat is, vervang `.pdf` met die korrekte uitset vir die formaat.
  • Maak die sigblad toe sonder om dit te stoor en sluit Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
  • Gebruik `.xlsx` in plaas van `.xls` as die uitvoer van die sigblad naam as jou sigblad gestoor word in die XML-gebaseerde formaat van Excel 2007 en later.
  • Prent getiteld Outomatiseer verslae in Excel Stap 17
    3
    Skryf `n bondelskrip in Notepad (en stoor dit later as `.bat`) om die Visual Basic-script te begin. Dit is nodig om die Visual Basic-script outomaties te laat loop. Sonder die batch script, moet die VB script manueel uitgevoer word.
  • As u skrif in hierdie formaat is, vervang u die gespesifiseerde gids en lêernaam met u eie, en verlaat die hakies: [cscript / rologo fileloc script.vbs]
  • Prent getiteld Outomatiese verslae in Excel stap 18
    4
    Skryf `n bondelskrip om te kontroleer of die uitvoerlêer bestaan ​​wanneer dit geskep word. Die skrif moet die funksies hieronder beskryf. Elke funksie word gevolg deur kode wat tussen vierkantige hakies geïmplementeer moet word. Wanneer u die werklike kode skryf, doen dit in een blokkie en vervang die name van die voorbeelde met hul eie name, sonder die regte hakies.
  • Verifieer dat die uitvoer lêer bestaan. [Vir / f "tokens = 2-4 delims = / " %% a in (`date / t`) stel rreport = verslagnaam _ %% c - %% a - %% b.pdf)] As die uitvoerlêer nie `n PDF is nie, vervang ".pdf" dan deur die regte uitbreiding.
  • As die uitvoer lêer / verslag bestaan, e-pos dit aan die mense wat dit nodig het. [If exist pdfloc % rreport% (sendemail -f [email protected] -t [email protected] -u Scheduled Report -m Report %% report% is attached. -a pdfloc % rreport% -s jou bediener: poort -xu gebruikersnaam -xp wagwoord)]
  • As die uitvoer lêer / verslag nie op die spesifieke plek bestaan ​​nie, sal die prosedure `n boodskap stuur wat die voorlegging misluk het. [Else (sendemail -f [email protected] -t [email protected] -u Report did not run -m file% rreport% does not exist in pdfloc -s yourserver: port -xu username -xp password) ]
  • Prent getiteld Outomatiseer verslae in Excel Stap 19
    5
    Kontroleer of die gids `Desktop` op die rekenaar bestaan. U moet seker maak dat die Desktop-lêergids bestaan ​​vir beide `n 32-bis en `n 64-bits-stelsel. As u dit nie doen nie, moet Excel en u sigblad handmatig oopgemaak word.
  • Plek op 32-bis stelsel: c: windows system32 config systemprofile
  • Plek op 64-bis stelsel: c: windows syswow64 config systemprofile
  • Prent getiteld Outomatiseer verslae in Excel Stap 20
    6
    Indien nodig, beplan `n taak om die skrifte uit te voer. Die bondelskrifte moet deurlopend uitgevoer word, ongeag of iemand die rekenaar gebruik of nie. Die gesag moet so hoog as moontlik gestel word.
  • wenke

    • Beplande take word die beste uit `n bediener uitgevoer, gewoonlik vanaf `n stelselrekening met administrateur regte. Die enigste nadeel om take uit `n stelselrekening uit te voer, is dat daar geen gebruikerskoppelvlak beskikbaar is nie, maar outomatiese take loop gewoonlik in die agtergrond, sonder dat die gebruiker dit opmerk.
    Deel op sosiale netwerke:

    Verwante