Ako automatizovať správy v programe Excel (s obrázkami)

Obsah:

Ako automatizovať správy v programe Excel (s obrázkami)
Ako automatizovať správy v programe Excel (s obrázkami)

Video: Ako automatizovať správy v programe Excel (s obrázkami)

Video: Ako automatizovať správy v programe Excel (s obrázkami)
Video: Aké najčastejšie chyby robíme my rodičia pri výchove našich detí? Martina Vagačová 2024, Smieť
Anonim

Program Microsoft Excel má rôzne funkcie a jednou z nich je automatické generovanie zostáv. Môžete vytvárať interaktívne tabuľky, aby ste zjednodušili proces zadávania údajov pre ostatných do zošita a zároveň automatizovali generovanie správ. Obe tieto funkcie vyžadujú dostatočné znalosti jazyka Visual Basic. Kroky na vykonanie oboch úloh sú popísané nižšie.

Krok

Metóda 1 z 2: Vytvorenie interaktívnej tabuľky

Automatizácia zostáv v programe Excel Krok 1
Automatizácia zostáv v programe Excel Krok 1

Krok 1. Určte rozloženie tabuľky

Rozloženie tabuľky je potrebné urobiť tak, aby ostatní mohli nájsť polia potrebné na zadanie údajov.

Rozloženie tabuľky môže byť rozložené horizontálne alebo vertikálne. Väčšina používateľov považuje prácu s vertikálnym rozložením za jednoduchšiu, najmä ak bude tabuľka vytlačená

Automatizácia zostáv v programe Excel Krok 2
Automatizácia zostáv v programe Excel Krok 2

Krok 2. Vytvorte textové štítky pre tabuľku

Napíšte štítok v hornej časti každého stĺpca a naľavo od každej bunky v stĺpci, ktorý plánujete použiť ako údaj.

Automatizácia zostáv v programe Excel Krok 3
Automatizácia zostáv v programe Excel Krok 3

Krok 3. Súčasne stlačte klávesy alt=„Obrázok“a F11

Táto kombinácia klávesov otvorí editor programu Microsoft Visual Basic.

Automatizácia zostáv v programe Excel Krok 4
Automatizácia zostáv v programe Excel Krok 4

Krok 4. Dvakrát kliknite na „Tento zošit“na table „Project-VBA Project“vľavo hore

V hlavnej časti editora sa zobrazí okno na písanie kódu.

Automatizácia zostáv v programe Excel Krok 5
Automatizácia zostáv v programe Excel Krok 5

Krok 5. V ponuke Vložiť zvoľte „Postup“

Zobrazí sa dialógové okno Pridať postup.

Automatizácia zostáv v programe Excel, krok 6
Automatizácia zostáv v programe Excel, krok 6

Krok 6. Do poľa Názov zadajte názov postupu

Ak bude tabuľka slúžiť na vykazovanie cestovných výdavkov, zadajte zmysluplný názov postupu, napríklad „SumExpenses“. Kliknutím na tlačidlo OK zatvorte dialógové okno.

  • Názvy procedúr nemôžu obsahovať medzery, ale môžu nahradiť medzery podčiarkovníkom (_).
  • Po zatvorení dialógového okna Pridať postup sa zobrazí riadok s názvom „Verejná podstránka“a za ním názov postupu. Pod týmto riadkom je medzera a slová „End Sub“.
Automatizácia zostáv v programe Excel Krok 7
Automatizácia zostáv v programe Excel Krok 7

Krok 7. Zadajte kód pre každé vstupné pole v tabuľke

Ku každému záznamu napíšete dva riadky kódu.

  • Prvý riadok kódu má tvar „Rozsah („ názov bunky “). Vyberte„, „názov bunky“predstavuje bunku, do ktorej je zadaný vstup. Vyplňte názov bunky, ktorá sa nachádza vpravo od textového štítka. Ak je textový štítok v bunke A2, vstupným poľom je bunka B2 (rozsah („B2“). Vyberte). Úvodzovky pred a za názvom bunky sú v tejto fáze ešte napísané, ale už nie sú zahrnuté v úplnom vyhlásení kódu.
  • Kód v druhom riadku je „ActiveCell. Value = InputBox („ InputPrompt “)“. „InputPrompt“predstavuje text, ktorý sa zobrazí a upozorní používateľa na typ údajov, ktoré má zadať do vstupnej bunky. Ak bude napríklad vstupná bunka naplnená výdavkami na stravu, nahraďte položku „InputPrompt“hodnotou „Zadajte celkové náklady na jedlo vrátane sprepitného“. (Úvodzovky pre text vstupnej inštrukcie sú stále zahrnuté, zatiaľ čo úvodzovky pred a za príkazom nie je potrebné písať.)
Automatizácia zostáv v programe Excel, krok 8
Automatizácia zostáv v programe Excel, krok 8

Krok 8. Zadajte kód pre každé pole výpočtu

Dva použité riadky sú opäť rovnaké ako predtým, ale tentoraz ActiveCell. Value je výpočet numerickej funkcie, napríklad SUM, kde sa na zobrazenie vstupných pokynov používa funkcia InputBox.

Automatizácia zostáv v programe Excel, krok 9
Automatizácia zostáv v programe Excel, krok 9

Krok 9. Pridajte riadok kódu na uloženie interaktívnej tabuľky

Formát je „ActiveWorkbook. SaveAs Filename: =" Filename.xls "." Filename "je názov interaktívnej tabuľky. (Úvodzovky pred a za" Filename.xls "zostanú napísané, pričom úvodzovky pre všetky príkazy sú nevyžaduje sa.)

Ak používate Microsoft Excel verzie 2007 alebo novšej, použite „.xlsx“namiesto „.xls“. Ak však existujú používatelia interaktívnych tabuliek s verziou programu Excel 2003 a nižšou, nebudú môcť tabuľku používať bez doplnku na čítanie

Automatizácia zostáv v Exceli, krok 10
Automatizácia zostáv v Exceli, krok 10

Krok 10. Súčasne stlačte klávesy alt=„Obrázok“a Q

Editor jazyka Visual Basic sa zatvorí.

Automatizácia zostáv v programe Excel, krok 11
Automatizácia zostáv v programe Excel, krok 11

Krok 11. Súčasne stlačte klávesy alt=„Obrázok“a F8

Zobrazí sa dialógové okno Makro.

Automatizácia zostáv v programe Excel, krok 12
Automatizácia zostáv v programe Excel, krok 12

Krok 12. Kliknite na názov postupu v zozname Makrá

Ak je vytvorený postup jediným v zozname, vyberie sa automaticky.

Automatizácia zostáv v programe Excel Krok 13
Automatizácia zostáv v programe Excel Krok 13

Krok 13. Kliknite na tlačidlo Možnosti

Budete vyzvaní, aby ste zadali znak klávesnice, ktorý sa má použiť ako klávesová skratka s klávesom Ctrl. Vyberte zmysluplné písmeno, ktoré nebolo použité ako skratka, napríklad „e“ako „záznam“.

Automatizácia zostáv v programe Excel Krok 14
Automatizácia zostáv v programe Excel Krok 14

Krok 14. Kliknutím na „OK“zatvoríte dialógové okno Možnosti makra

Teraz môžete používateľom distribuovať interaktívne tabuľky. Po jeho otvorení môže užívateľ pomocou klávesových skratiek zadávať údaje a pri zadávaní údajov postupovať podľa pokynov, ktoré ste vytvorili.

Metóda 2 z 2: Automatizácia generovania správ

Automatizácia zostáv v programe Excel Krok 15
Automatizácia zostáv v programe Excel Krok 15

Krok 1. Vytvorte správu v kontingenčnej tabuľke

Kontingenčné tabuľky sú navrhnuté tak, aby sumarizovali údaje, aby ste mohli porovnávať čísla a identifikovať trendy. Kontingenčná tabuľka sa musí týkať údajov, ktoré sú v jednom z procesorov údajov alebo sú importované z konkrétnej databázy.

Automatizácia zostáv v programe Excel, krok 16
Automatizácia zostáv v programe Excel, krok 16

Krok 2. Napíšte skript jazyka Visual Basic na otvorenie a zatvorenie zostavy

Skript by mal byť schopný vykonávať rôzne nižšie uvedené funkcie. Každá funkcia bude popísaná, za ktorou bude nasledovať kód uvedený v zátvorkách na jej implementáciu. Pri písaní skutočného kódu ho napíšte do jedného bloku, pričom názov v príklade nahraďte svojim vlastným a na začiatku a na konci ukážky kódu neuvádzajte zátvorky.

  • Otvorte tabuľku v režime iba na čítanie. [DIM XLAppSet XLApp = CreateObject ("Excel. App") xlapp.visible = falsexlapp.workbooks.open / excelloc / filename.xls, 3,]
  • Znova načítajte údaje a uložte správu, v tomto prípade sa uloží ako PDF s popisom dátumu. [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, / pdfloc / reportname_ & DatePart ("yyyy, Now ()) &"-"& Right (" 0 "& DatePart (" m ", Now ()), 2) & "-" Vpravo ("0" & DatePart ("d", Teraz ()), 2) & ".pdf"] Ak je výstupný formát dokumentu iný, nahraďte formát ".pdf" správne rozšírenie podľa potreby.
  • Zatvorte tabuľku bez uloženia a potom zatvorte aplikáciu Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
  • Ak je tabuľka uložená v programe Excel 2007 a novšom formáte XML, použite namiesto „.xls“na konci tabuľky „.xlsx“.
Automatizácia zostáv v programe Excel Krok 17
Automatizácia zostáv v programe Excel Krok 17

Krok 3. Napíšte dávkový skript na spustenie skriptu Visual Basic

Účelom napísania skriptu je, aby sa skripty Visual Basic mohli spúšťať automaticky. Bez dávkového skriptu je potrebné skripty VB spúšťať ručne.

Skript je napísaný v nasledujúcom formáte, pričom názov uvedený v tomto príklade je nahradený názvom vášho vlastného priečinka a názvom súboru: [cscript /nologo / fileloc / script.vbs]

Automatizácia zostáv v programe Excel, krok 18
Automatizácia zostáv v programe Excel, krok 18

Krok 4. Napíšte dávkový skript, aby ste sa uistili, že výstupný súbor existuje ako vytvorený

Váš skript by mal vykonávať nasledujúce funkcie. Za každou funkciou bude nasledovať kód uvedený v zátvorkách na jej implementáciu. Pri písaní skutočného kódu ho napíšte do jedného bloku, pričom v príklade nahraďte názov požadovaným názvom a na začiatok a koniec vzorového kódu nezahrňte zátvorky.

  • Skontrolujte, či existuje výstupný súbor. [For /f "tokens = 2-4 delims = /" %% a in ('date /t') do set rreport = reportname _ %% c-%% a-%% b.pdf)] If the output file format nie je PDF, nahraďte „.pdf“príslušnou príponou.
  • Ak výstupný súbor/správa existuje, pošlite ho e -mailom osobe, ktorá ho potrebuje. [Ak existujú / pdfloc \%rreport%(sendmail -f [email protected] -t [email protected] -u Scheduled Report -m Report %% report%is attached. -A / pdfloc \%rreport%-s váš server: port -xu užívateľské meno -xp heslo)]
  • Ak výstupný súbor/správa v uvedenom umiestnení neexistuje, vytvorte postup, aby vám mohol odoslať správu, že doručenie zlyhalo. [Inak (sendmail -f [email protected] -t [email protected] -u Report has not run -m file % rreport % neexistuje v / pdfloc / -s yourserver: port -xu username -xp password)]
Automatizácia zostáv v Exceli, krok 19
Automatizácia zostáv v Exceli, krok 19

Krok 5. Uistite sa, že je v počítači priečinok „Desktop“

Musíte overiť existenciu priečinka Desktop pre 32-bitové aj 64-bitové systémy. V opačnom prípade musíte Excel a tabuľku otvoriť manuálne.

  • 32-bitové umiestnenie systému: c: / windows / system32 / config / systemprofile
  • 64-bitové umiestnenie systému: c: / windows / syswow64 / config / systemprofile
Automatizácia zostáv v programe Excel, krok 20
Automatizácia zostáv v programe Excel, krok 20

Krok 6. Naplánujte úlohy tak, aby podľa potreby spúšťali skripty

Dávkové skripty sa musia vykonávať postupne a nepretržite, aj keď nikto nepoužíva počítač. Oprávnenia je potrebné nastaviť na najvyššie možné nastavenie.

Odporúča: