Genera report automaticamente in excel

Una delle caratteristiche principali di Microsoft Excel è la possibilità di generare report. Puoi creare fogli di calcolo interattivi per facilitare l`inserimento dei dati in una cartella di lavoro da parte di altri utenti e puoi anche generare rapporti automaticamente. Entrambe le funzioni richiedono una certa conoscenza di Visual Basic. Di seguito sono riportati i passaggi per eseguire entrambe le attività.

Passi

Metodo 1 di 2: creazione di un foglio di calcolo interattivo

Immagine titolata Automate Reports in Excel Step 1
1. Decidi il layout del tuo foglio di calcolo. Il foglio di calcolo deve essere organizzato in modo tale che altri utenti possano trovare rapidamente i campi per l`inserimento dei dati.
  • Puoi orientare il foglio di lavoro orizzontalmente o verticalmente. La maggior parte degli utenti troverà più facile lavorare con un layout verticale, soprattutto se si desidera che siano in grado di stampare il foglio di calcolo.
Immagine titolata Automate Reports in Excel Step 2
2. Crea intestazioni per il foglio di calcolo. Inserisci un`intestazione sopra ogni colonna, nonché nella cella a sinistra di ogni cella della colonna in cui desideri posizionare i campi di input.
Immagine titolata Automate Reports in Excel Step 3
3. Premere contemporaneamente i tasti Alt e F11. Questo aprirà l`editor di Microsoft Visual Basic.
Immagine titolata Automate Reports in Excel Step 4
4. Fare doppio clic su "Questa cartella di lavoro" nella finestra "Progetto-Progetto VBA" a sinistra in alto. Si aprirà una finestra di codifica nella finestra principale dell`editor.
Immagine titolata Automate Reports in Excel Step 5
5. Selezionare "Procedura" tramite Inserisci nel menu principale. Si apre la finestra di dialogo Inserisci procedura.
Immagine titolata Automate Reports in Excel Step 6
6. Immettere un nome per la procedura nel campo Nome. Assegna alla procedura un nome significativo, ad esempio "Spese totali" se il tuo foglio di calcolo interattivo verrà utilizzato per tenere traccia delle spese di viaggio. Fare clic su OK per chiudere la finestra di dialogo.
  • Il nome della tua procedura non può contenere spazi, ma puoi usare un trattino ( _ ) invece di uno spazio.
  • Quando la finestra di dialogo `Inserisci procedura` si chiude, vedrai una riga `Public Sub` seguita dal nome della procedura. Sotto la riga vedrai uno spazio e le parole `End Sub`.
    Immagine titolata Automate Reports in Excel Step 7
    7. Immettere il codice per ogni campo di input nel foglio di calcolo. Scriverai due righe di codice per ogni input.
  • La prima riga di codice è `Range("nome della cella").Seleziona`, dove "nome della cella" la cella dovrebbe rappresentare il punto in cui verrà posizionato il campo di input. Questa è la cella immediatamente a destra di un`etichetta di testo; se è presente un`etichetta di testo nella cella A2, un campo di input verrà inserito nella cella B2, quindi (Range("B2").Selezionare). Assicurati che le virgolette siano attorno al nome della cella, ma non attorno all`intero blocco di codice.
  • La seconda riga di codice è simile a `ActiveCell.Valore=Casella di immissione("Prompt di input")`, vero "Prompt di input" è il testo mostrato all`utente per indicare che tipo di dati inserire. Ad esempio, se nella cella di input deve essere inserito il costo dei pasti, si sostituisce "Prompt di input" di "Inserisci il totale di tutti i pasti, inclusi i suggerimenti." (Posiziona le virgolette attorno al testo di input, ma non attorno all`intero comando).
    Immagine titolata Automate Reports in Excel Step 8
    8. Immettere il codice per ogni campo di calcolo. Ancora una volta usi le stesse due righe di cui sopra, ma questa volta ActiveCell.Value è una funzione di calcolo, come SUM, invece della funzione InputBox utilizzata per visualizzare il messaggio di input.
    Immagine titolata Automate Reports in Excel Step 9
    9. Aggiungi una riga di codice per salvare il tuo foglio di calcolo interattivo. Il codice è `ActiveWorkbook.Salva come nome file:="nome del file.xls" `, per cui "nome del file" è il nome del tuo foglio di lavoro interattivo. (Mettere virgolette "nome del file.xls", ma non intorno all`esempio completo).
    Se hai Excel 2007 o versioni successive, puoi utilizzare l`output `.xls` sostituito da `.xlsx`, ma se alcuni utenti del tuo foglio di calcolo interattivo utilizzano Excel 2003 o versioni precedenti, non saranno in grado di utilizzare il foglio di calcolo senza un plug-in.
    Immagine titolata Automate Reports in Excel Step 10
    10. Premi Alt e Q contemporaneamente. Chiude l`editor di Visual Basic.
    Immagine titolata Automate Reports in Excel Step 11
    11. Premi Alt e F8 contemporaneamente. Si aprirà la finestra Macro.
    Immagine titolata Automate Reports in Excel Step 12
    12. Fare clic sul nome della procedura nell`elenco Macro. Se questa è l`unica procedura nell`elenco, verrà selezionata automaticamente.
    Immagine titolata Automate Reports in Excel Step 13
    13. Fare clic sul pulsante Opzioni. Ora ti verrà chiesto di scegliere un carattere per creare una combinazione di tasti con il tasto Ctrl. Scegli una lettera significativa non ancora utilizzata come scorciatoia, ad esempio una "i" per "input".
    Immagine titolata Automate Reports in Excel Step 14
    14. Fare clic su "OK" per chiudere la finestra Opzioni macro. Ora puoi distribuire il tuo foglio di lavoro interattivo ai potenziali utenti. Dopo averlo aperto, possono utilizzare la scorciatoia da tastiera per abilitare l`immissione dei dati e seguire le notifiche che hai creato per l`immissione dei dati.

    Metodo 2 di 2: automatizzare la generazione di report

    Immagine titolata Automate Reports in Excel Step 15
    1. Trasforma il tuo rapporto in una tabella pivot. Le tabelle pivot sono progettate per creare panoramiche dei dati in modo da poter confrontare i numeri e individuare le tendenze. La tabella pivot deve essere collegata a dati altrove nel foglio di calcolo o importata da un database.
    Immagine titolata Automate Reports in Excel Step 16
    2. Scrivere uno script Visual Basic per aprire e chiudere il report. Lo script dovrebbe eseguire le funzioni seguenti. Ciascuna funzione è descritta seguita dal codice da implementare tra parentesi quadre. Quando scrivi il codice del programma effettivo, scrivilo in un unico blocco, sostituisci i nomi dell`esempio con i tuoi nomi e non includere le parentesi quadre che circondano l`intero esempio.
  • Apri il foglio di calcolo in modalità di sola lettura. [DIM XLAppSet XLApp=CreaOggetto("Eccellere.app")xlapp.visibile=falsexlapp.cartelle di lavoro.apri \excellocnomefile.xls,3,]
  • Aggiorna i dati e salva il report (in questo esempio come PDF con datario). [Truexlapp.cartella di lavoro attiva.RefreshAllxlapp.cartella di lavoro attiva.ExportAsFixedFormat xlTypePDF, \pdflocreportname_ & DatePart("aaaa, ora()) & "-" & Giusto("0" & DatePart("m",Ora()),2) & "-" Giusto("0" & DatePart("D",Ora()),2) & ".PDF"] Il tuo documento di output è in un formato diverso, sostituisci `.pdf` quindi attraverso il finale appropriato per quel formato.
  • Chiudi il foglio di calcolo senza salvarlo e chiudi Excel. [xlQualityStandardxlapp.cartella di lavoro attiva.chiudi Falsexlapp.esentato]
  • Utilizzo `.xlsx` invece di `.xls` come output del nome del foglio di calcolo, se il foglio di calcolo è salvato nel formato basato su XML di Excel 2007 e versioni successive.
    Immagine titolata Automate Reports in Excel Step 17
    3. Scrivi uno script batch in Blocco note (e salvalo in seguito come `.bat`) per avviare lo script di Visual Basic. Ciò è necessario affinché lo script di Visual Basic venga eseguito automaticamente. Senza lo script batch, lo script VB deve essere eseguito manualmente.
    Se il tuo script è in questo formato, sostituisci la cartella e il nome del file specificati con il tuo, omettendo le parentesi quadre: [cscript /nologo \filelocscript.vbs]
    Immagine titolata Automate Reports in Excel Step 18
  • 4. Scrivere uno script batch per verificare se il file di output esiste al momento della creazione. Lo script dovrebbe descrivere le funzioni seguenti. Ogni funzione è seguita da codice da implementare tra parentesi quadre. Quando scriverai il codice vero e proprio, fallo in un blocco e sostituisci i nomi degli esempi con i tuoi nomi, senza le parentesi quadre.
  • Controlla se il file di output esiste. [per /f "gettoni=2-4 delim=/ " %%a in (`data /t`) imposta rreport=reportname_%%c-%%a-%%b.pdf)] Se il file di output non è un PDF, sostituirlo ".PDF" poi con la giusta estensione.
  • Se il file/rapporto di output esiste, invialo tramite e-mail alle persone che ne hanno bisogno. [Se esiste \pdfloc%report% ( sendemail -f [email protected] -t destinatario@dominio destinatario.com -u Report pianificato -m Report %%report% è allegato. -a pdfloc%rreport% -s il tuo server:porta -xu nome utente -xp password)]
  • Se il file/report di output non esiste nella posizione specifica, chiedi alla procedura di inviarti un messaggio che l`invio non è riuscito. [ Altro ( sendemail -f mittente@dominio mittente.com -t mittente@dominio mittente.com -u Il rapporto non è stato eseguito -m il file %rreport% non esiste in \pdfloc -s il tuo server:porta -xu nome utente -xp password)]
    Immagine titolata Automate Reports in Excel Step 19
  • 5. Controlla se la cartella "Desktop" esiste sul computer. È necessario verificare che la cartella Desktop esista sia per un sistema a 32 bit che per un sistema a 64 bit. Se non lo fai, Excel e il tuo foglio di calcolo dovranno essere aperti manualmente.
  • Posizione nel sistema a 32 bit: c:windowssystem32configsystemprofile
  • Posizione nel sistema a 64 bit: c:windowssyswow64configsystemprofile
    Immagine titolata Automate Reports in Excel Step 20
  • 6. Se necessario, pianificare un`attività per eseguire gli script. Gli script batch devono essere eseguiti continuamente in successione indipendentemente dal fatto che qualcuno stia utilizzando o meno il computer. La potenza dovrebbe essere impostata il più alta possibile.

    Consigli

    Le attività pianificate vengono eseguite al meglio da un server, in genere da un account di sistema con privilegi di amministratore. L`unico aspetto negativo dell`esecuzione di attività da un account di sistema è che non è disponibile alcuna interfaccia utente; ma le attività automatizzate generalmente vengono eseguite in background, senza che l`utente se ne accorga.

    Condividi sui social network: