Genereer verslae outomaties in excel

Een van die belangrikste kenmerke van Microsoft Excel is die vermoë om verslae te genereer. Jy kan interaktiewe sigblaaie skep om dit vir ander gebruikers makliker te maak om data in `n werkboek in te voer, en jy kan ook verslae outomaties genereer. Beide funksies vereis `n mate van kennis van Visual Basic. Hier volg die stappe om beide take uit te voer.

Trappe

Metode 1 van 2: Skep `n interaktiewe sigblad

Prent getiteld Outomatiseer verslae in Excel Stap 1
1. Besluit op die uitleg van jou sigblad. Die sigblad moet so georganiseer word dat ander gebruikers vinnig die velde vir die invoer van data kan vind.
  • Jy kan jou sigblad horisontaal of vertikaal oriënteer. Die meeste gebruikers sal `n vertikale uitleg makliker vind om mee te werk, veral as jy wil hê hulle moet die sigblad kan druk.
Prent getiteld Outomatiseer verslae in Excel Stap 2
2. Skep opskrifte vir die sigblad. Plaas `n opskrif bo elke kolom, sowel as in die sel aan die linkerkant van elke sel van die kolom waar jy die invoervelde wil plaas.
Prent getiteld Outomatiseer verslae in Excel Stap 3
3. Druk die Alt- en F11-sleutels gelyktydig. Dit sal die Microsoft Visual Basic-redigeerder oopmaak.
Prent getiteld Outomatiseer verslae in Excel Stap 4
4. Dubbelklik op "Hierdie werkboek" in die venster "Projek-VBA Projek" Links bo. Dit sal `n enkoderingsvenster in die hoofredigeerdervenster oopmaak.
Prent getiteld Outomatiseer verslae in Excel Stap 5
5. Kies "Prosedure" via Voeg in die hoofkieslys. Die Invoegprosedure-dialoogvenster maak 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 "Totale uitgawes" as jou interaktiewe sigblad gebruik sal word om reiskoste na te spoor. Klik OK om die dialoog toe te maak.
  • Jou prosedurenaam kan nie spasies bevat nie, maar jy kan `n koppelteken ( _ ) in plaas van `n spasie gebruik.
  • Wanneer die `Voeg prosedure in` dialoogkassie toemaak, sal jy `n reël `Publieke Sub` sien gevolg deur die naam van die prosedure. Onder die reël sal jy `n spasie en die woorde `End Sub` sien.
    Prent getiteld Outomatiseer verslae in Excel Stap 7
    7. Voer die kode vir elke invoerveld in die sigblad in. Jy gaan twee reëls kode vir elke invoer skryf.
  • Die eerste reël kode is `Range("sel naam").Kies`, waar "sel naam" die sel moet verteenwoordig waar die invoerveld geplaas sal word. Dit is die sel direk regs van `n teksetiket; as daar `n teksetiket in sel A2 is, sal `n invoerveld in sel B2 geplaas word, dus (Reeks("B2").Kies). Maak seker dat die aanhalings rondom die selnaam is, maar nie om die hele kodeblok nie.
  • Die tweede reël kode lyk soos `ActiveCell.Waarde=Invoerboks("InvoerPrompt")`, waar "InvoerPrompt" is die teks wat aan die gebruiker gewys word om aan te dui watter soort data om in te voer. As die koste van etes byvoorbeeld in die invoersel ingevoer moet word, vervang jy "InvoerPrompt" van "Voer die totaal van alle etes in, insluitend wenke." (Plaas die aanhalings om die invoerteks, maar nie om die hele opdrag nie).
    Prent getiteld Outomatiseer verslae in Excel Stap 8
    8. Voer kode vir elke berekeningsveld in. Weereens gebruik jy dieselfde twee reëls as hierbo, maar hierdie keer ActiveCell.Waarde is `n berekeningsfunksie, soos SUM, in plaas van die InputBox-funksie soos gebruik om die invoerboodskap te vertoon.
    Prent getiteld Outomatiseer verslae in Excel Stap 9
    9. Voeg `n reël kode by om jou interaktiewe sigblad te stoor. Die kode is `ActiveWorkbook.Stoor as lêernaam:="lêernaam.xls" `, waardeur "lêernaam" is die naam van jou interaktiewe sigblad. (Sit aanhalings rond "lêernaam.xls", maar nie rondom die volledige voorbeeld nie).
    As jy Excel 2007 of later het, kan jy die uitvoer `.xls` vervang deur `.xlsx`, maar as sommige van die gebruikers van jou interaktiewe sigblad Excel 2003 of vroeër gebruik, sal hulle nie die sigblad sonder `n inprop kan gebruik nie.
    Prent getiteld Outomatiseer verslae in Excel Stap 10
    10. Druk Alt en Q terselfdertyd. Maak die Visual Basic-redigeerder toe.
    Prent getiteld Outomatiseer verslae in Excel Stap 11
    11. Druk Alt en F8 terselfdertyd. Dit sal die makro-venster oopmaak.
    Prent getiteld Outomatiseer verslae in Excel Stap 12
    12. Klik op die naam van jou 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. Jy sal nou gevra word om `n karakter te kies om `n sleutelkombinasie met die Ctrl-sleutel te skep. Kies `n betekenisvolle letter wat nog nie as `n kortpad gebruik word nie, soos `n `i` vir `invoer`.
    Prent getiteld Outomatiseer verslae in Excel Stap 14
    14. Klik `OK` om die Makro-opsies-venster toe te maak. Jy kan nou jou interaktiewe sigblad aan potensiële gebruikers uitdeel. Nadat hulle dit oopgemaak het, kan hulle die sleutelbordkortpad gebruik om data-invoer te aktiveer, en volg die kennisgewings wat jy vir data-invoer geskep het.

    Metode 2 van 2: Outomatiseer verslaggenerering

    Prent getiteld Outomatiseer verslae in Excel Stap 15
    1. Verander jou verslag in `n draaitabel. Draaitafels is ontwerp om oorsigte van data te skep sodat jy getalle kan vergelyk en neigings kan raaksien. Jou draaitabel moet aan data elders in jou sigblad gekoppel word, of vanaf `n databasis ingevoer word.
    Prent getiteld Outomatiseer verslae in Excel Stap 16
    2. Skryf `n Visual Basic-skrif om die verslag oop en toe te maak. Die skrip behoort die funksies hieronder te verrig. Elke funksie word beskryf, gevolg deur die kode wat geïmplementeer moet word tussen vierkantige hakies. Wanneer u werklike programkode skryf, skryf dit in `n enkele blok, vervang die voorbeeldname met u eie name, en sluit nie die vierkantige hakies in wat die hele voorbeeld omring nie.
  • Maak die sigblad in leesalleenmodus oop. [DIM XLAppSet XLApp=CreateObject("Excel.app") xlap.sigbaar=valsekslapp.werkboeke.maak \excelloclêernaam oop.xls,3,]
  • Verfris die data en stoor die verslag (in hierdie voorbeeld as PDF met `n datumstempel). [Truexlapp.aktiewe werkboek.RefreshAllxlapp.aktiewe werkboek.ExportAsFixedFormat xlTypePDF, \pdflocverslagnaam_ & Datumdeel("jjjj, nou()) & "-" & reg ("0" & Datumdeel("m",Nou()),2) & "-" reg ("0" & Datumdeel("d",Nou()),2) & ".pdf"] Is jou uitvoerdokument in `n ander formaat, vervang `.pdf` dan deur die toepaslike einde vir daardie formaat.
  • Maak die sigblad toe sonder om dit te stoor, en maak Excel toe. [xlQualityStandardxlapp.aktiewe werkboek.sluit Falsexlapp.ophou]
  • Gebruik `.xlsx` in plaas van `.xls` as die uitvoer van die sigbladnaam, as jou sigblad in die XML-gebaseerde formaat van Excel 2007 en later gestoor is.
    Prent getiteld Outomatiseer verslae in Excel Stap 17
    3. Skryf `n bondelskrif in Notepad (en stoor dit later as `.bat`) om die Visual Basic-skrip te begin. Dit is nodig vir die Visual Basic-skrip om outomaties te loop. Sonder die bondelskrip moet die VB-skrip met die hand uitgevoer word.
    As jou skrif in hierdie formaat is, vervang die gespesifiseerde vouer en lêernaam met jou eie, en laat die vierkantige hakies weg: [cscript /nologo \filelocscript.vbs]
    Prent getiteld Outomatiseer verslae in Excel Stap 18
  • 4. Skryf `n bondelskrif om te kyk 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 jy die werklike kode gaan skryf, doen dit in een blok en vervang die name van die voorbeelde met jou eie name, sonder die vierkantige hakies.
  • Kyk of die uitvoerlêer bestaan. [vir /f "tokens=2-4 delims=/ " %%a in (`date /t`) stel wel rreport=verslagnaam_%%c-%%a-%%b.pdf)] As die uitvoerlêer nie `n PDF is nie, vervang ".pdf" dan deur die regte uitbreiding.
  • As die uitvoerlêer/verslag bestaan, e-pos dit aan die mense wat dit nodig het. [As bestaan ​​\pdfloc%rreport% (sendmail -f [email protected] -t [email protected] -u Geskeduleerde Verslag -m Verslag %%verslag% is aangeheg. -`n pdfloc%rreport% -s jou bediener:poort -xu gebruikersnaam -xp wagwoord)]
  • As die uitvoerlêer/verslag nie op die spesifieke plek bestaan ​​nie, laat die prosedure vir jou `n boodskap stuur dat die versending misluk het. [ Anders (sendmail -f [email protected] -t [email protected] -u Verslag het nie uitgevoer nie -m lêer %rreport% bestaan ​​nie in \pdfloc -s jou bediener:poort -xu gebruikersnaam -xp wagwoord)]
    Prent getiteld Outomatiseer verslae in Excel Stap 19
  • 5. Kyk of die `Desktop`-lêergids op die rekenaar bestaan. U moet seker maak dat die Desktop-lêergids vir beide `n 32-bis en `n 64-bis-stelsel bestaan. As jy dit nie doen nie, sal Excel en jou sigblad met die hand oopgemaak moet word.
  • Ligging op 32-bis stelsel: c:windowssystem32configsystemprofile
  • Ligging op 64-bis stelsel: c:windowssyswow64configsystemprofile
    Prent getiteld Outomatiseer verslae in Excel Stap 20
  • 6. Indien nodig, skeduleer `n taak om die skrifte uit te voer. Die bondelskrifte moet voortdurend agtereenvolgens uitgevoer word, ongeag of iemand die rekenaar gebruik of nie. Die krag moet so hoog as moontlik gestel word.

    Wenke

    Geskeduleerde take word die beste vanaf `n bediener uitgevoer, gewoonlik vanaf `n stelselrekening met administrateurvoorregte. Die enigste nadeel om take vanaf `n stelselrekening uit te voer, is dat geen gebruikerskoppelvlak beskikbaar is nie; maar outomatiese take loop gewoonlik op die agtergrond sonder dat die gebruiker dit agterkom.

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