Microsoft Excel are diverse funcții și una dintre ele generează rapoarte automat. Puteți crea foi de calcul interactive pentru a simplifica procesul de introducere a datelor pentru alte persoane în registrul de lucru, automatizând în același timp generarea de rapoarte. Ambele caracteristici necesită cunoștințe suficiente despre Visual Basic. Pașii pentru efectuarea ambelor sarcini sunt descriși mai jos.
Etapa
Metoda 1 din 2: Crearea unei foi de calcul interactive
Pasul 1. Determinați aspectul foii de calcul
Aspectul foii de calcul trebuie făcut astfel încât alții să poată găsi câmpurile necesare pentru introducerea datelor.
Aspectele foilor de calcul pot fi dispuse orizontal sau vertical. Majorității utilizatorilor le este mai ușor să lucreze cu un aspect vertical, mai ales dacă foaia de calcul va fi tipărită
Pasul 2. Creați etichete text pentru foaia de calcul
Scrieți o etichetă în partea de sus a fiecărei coloane și în stânga fiecărei celule din coloană pe care intenționați să o utilizați ca intrare de date.
Pasul 3. Apăsați alt="Imagine" și tastele F11 împreună
Această combinație de taste va deschide editorul Microsoft Visual Basic.
Pasul 4. Faceți dublu clic pe „Acest registru de lucru” în panoul „Proiect-Proiect VBA” din partea stângă sus
O fereastră pentru scrierea codului va apărea în secțiunea principală a editorului.
Pasul 5. Selectați „Procedură” din meniul Insert
Va apărea caseta de dialog Adăugare procedură.
Pasul 6. Introduceți numele procedurii în câmpul Nume
Introduceți un nume semnificativ pentru procedură, cum ar fi „SumExpenses” dacă foaia de calcul va fi utilizată pentru raportarea cheltuielilor de călătorie. Faceți clic pe OK pentru a închide caseta de dialog.
- Numele procedurilor nu pot conține spații, dar pot utiliza un punct de subliniere (_) pentru a înlocui spațiile.
- După închiderea casetei de dialog Adăugare procedură, va apărea o linie etichetată „Public Sub” urmată de numele procedurii. Sub linia respectivă este un spațiu și cuvintele „End Sub”.
Pasul 7. Introduceți codul pentru fiecare câmp de intrare în foaia de calcul
Veți scrie două linii de cod pentru fiecare intrare.
- Prima linie de cod este sub forma "Range (" nume de celulă "). Selectați", "nume de celulă" reprezintă celula în care este introdusă intrarea. Completați numele celulei care se află imediat în dreapta etichetei de text. Dacă eticheta de text se află în celula A2, câmpul de introducere este celula B2 (Interval ("B2"). Selectați). Ghilimelele înainte și după numele celulei sunt încă scrise în această etapă, dar nu mai sunt incluse în instrucțiunea de cod completă.
- Codul din a doua linie este „ActiveCell. Value = InputBox („ InputPrompt”)”. „InputPrompt” reprezintă textul care va apărea pentru a notifica utilizatorul despre tipul de date pe care trebuie să le introducă în celula de intrare. De exemplu, dacă celula de intrare va fi completată cu cheltuieli alimentare, înlocuiți „InputPrompt” cu „Introduceți cheltuielile totale pentru mese, inclusiv sfaturi”. (Ghilimelele pentru textul instrucțiunii de intrare sunt încă incluse, în timp ce ghilimelele înainte și după comandă nu trebuie scrise.)
Pasul 8. Introduceți codul pentru fiecare câmp de calcul
Din nou, cele două linii utilizate sunt aceleași ca înainte, dar de data aceasta ActiveCell. Value este un calcul al unei funcții numerice, de exemplu SUM, unde funcția funcția InputBox este utilizată pentru a afișa instrucțiunile de intrare.
Pasul 9. Adăugați o linie de cod pentru a salva foaia dvs. de calcul interactivă
Formatul este "ActiveWorkbook. SaveAs Filename: =" Filename.xls "." Filename "este numele foii de calcul interactive. nu este necesar.)
Dacă utilizați Microsoft Excel versiunea 2007 sau o versiune ulterioară, utilizați „.xlsx” în loc de „.xls”. Cu toate acestea, dacă există utilizatori de foi de calcul interactive cu versiunea Excel 2003 și mai jos, aceștia nu vor putea utiliza foaia de calcul fără un plug-in pentru cititor
Pasul 10. Apăsați simultan alt="Imagine" și tastele Q
Editorul Visual Basic se va închide.
Pasul 11. Apăsați alt="Imagine" și tastele F8 simultan
Va apărea caseta de dialog Macro.
Pasul 12. Faceți clic pe numele procedurii din lista Macros
Dacă procedura creată este singura din listă, aceasta va fi selectată automat.
Pasul 13. Faceți clic pe butonul Opțiuni
Vi se va cere să introduceți un caracter de tastatură pe care să îl utilizați ca comandă rapidă cu tasta Ctrl. Alegeți o literă semnificativă care nu a fost utilizată ca caracter de comandă rapidă, cum ar fi „e” pentru „intrare”.
Pasul 14. Faceți clic pe „OK” pentru a închide caseta de dialog Opțiuni macro
Acum puteți distribui foi de calcul interactive utilizatorilor. După deschiderea acestuia, utilizatorul poate utiliza tastele de comandă rapidă pentru a face intrări și poate urma instrucțiunile pe care le-ați creat pentru a completa datele.
Metoda 2 din 2: Automatizarea generării de rapoarte
Pasul 1. Creați un raport într-un tabel pivot
Tabelele pivot sunt concepute pentru a rezuma datele, astfel încât să puteți compara numerele și să identificați tendințele. Tabelul pivot trebuie să se refere la datele care se află într-unul dintre procesoarele de date sau sunt importate dintr-o anumită bază de date.
Pasul 2. Scrieți un script Visual Basic pentru a deschide și închide raportul
Scriptul ar trebui să poată îndeplini diferitele funcții enumerate mai jos. Fiecare funcție va fi descrisă urmată de codul dat în paranteze pentru a o implementa. Când scrieți codul real, scrieți-l într-un singur bloc, înlocuind numele din exemplu cu propriul dvs. și nu includeți paranteze la începutul și la sfârșitul exemplului de cod.
- Deschideți foaia de calcul în modul numai citire. [DIM XLAppSet XLApp = CreateObject ("Excel. App") xlapp.visible = falsexlapp.workbooks.open / excelloc / filename.xls, 3,]
- Reîncărcați datele și salvați raportul, în acest exemplu sunt salvate ca PDF cu legenda datei. [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, / pdfloc / reportname_ & DatePart ("yyyy, Now ()) &" - "& Right (" 0 "& DatePart (" m ", Now ()), 2) & "-" Dreapta ("0" & DatePart ("d", Now ()), 2) & ".pdf"] Dacă formatul documentului de ieșire este diferit, înlocuiți formatul ".pdf" cu extinderea corectă după dorință.
- Închideți foaia de calcul fără a o salva, apoi închideți Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
- Utilizați „.xlsx” în loc de „.xls” la sfârșitul foii de calcul dacă foaia de calcul este salvată în Excel 2007 și într-un format bazat mai târziu pe XML.
Pasul 3. Scrieți un script batch pentru a porni scriptul Visual Basic
Scopul scrierii scriptului este astfel încât scripturile Visual Basic să poată rula automat. Fără script batch, scripturile VB trebuie executate manual.
Scriptul este scris în următorul format, înlocuind cu numele propriului folder și numele fișierului pentru numele dat în acest exemplu: [cscript / nologo / fileloc / script.vbs]
Pasul 4. Scrieți un script batch pentru a vă asigura că fișierul de ieșire există așa cum a fost creat
Scriptul dvs. ar trebui să îndeplinească funcțiile de mai jos. Fiecare funcție va fi urmată de codul dat între paranteze pentru a o implementa. Când scrieți codul real, scrieți-l într-un singur bloc, înlocuind numele din exemplu cu numele de care aveți nevoie și nu includeți paranteze la începutul și la sfârșitul exemplului de cod.
- Verificați dacă există un fișier de ieșire. [Pentru / f "token = 2-4 delims = /" %% a in ('date / t') do set rreport = reportname _ %% c - %% a - %% b.pdf)] Dacă formatul fișierului de ieșire nu este PDF, înlocuiți „.pdf” cu extensia corespunzătoare.
- Dacă fișierul / raportul de ieșire există, trimiteți-l ca e-mail persoanei care are nevoie de el. [Dacă există / pdfloc \% rreport% (sendmail -f [email protected] -t [email protected] -u Raport programat -m Raport %% raport% este atașat. -A / pdfloc \% rreport% -s serverul dvs.: port -xu nume de utilizator-parolă xp)]
- Dacă fișierul / raportul de ieșire nu există în locația specificată, creați o procedură astfel încât să vă poată trimite un mesaj că livrarea a eșuat. [Altfel (sendmail -f [email protected] -t [email protected] -u Raportul nu a rulat -m fișier% rreport% nu există în / pdfloc / -s serverul dvs.: port -xu nume de utilizator -xp parolă)]
Pasul 5. Asigurați-vă că folderul „Desktop” se află pe computer
Trebuie să verificați existența folderului Desktop atât pentru sistemele pe 32 de biți, cât și pentru sistemele pe 64 de biți. În caz contrar, Excel și foaia de calcul trebuie deschise manual.
- Locația sistemului pe 32 de biți: c: / windows / system32 / config / systemprofile
- Locația sistemului pe 64 de biți: c: / windows / syswow64 / config / systemprofile
Pasul 6. Programați sarcini pentru a rula scripturi după cum este necesar
Scripturile batch trebuie executate secvențial și continuu, chiar dacă nimeni nu folosește computerul. Privilegiile trebuie setate la cea mai înaltă setare posibilă.