Macro di Excel - Guida rapida

Una macro di Excel è un'azione o un insieme di azioni che puoi registrare, dare un nome, salvare ed eseguire tutte le volte che vuoi e quando vuoi. Quando crei una macro, stai registrando i clic del mouse e le sequenze di tasti. Quando si esegue una macro salvata, i clic del mouse registrati e le sequenze di tasti verranno eseguiti nella stessa sequenza in cui sono stati registrati.

Le macro consentono di risparmiare tempo sulle attività ripetitive coinvolte nella manipolazione dei dati e nei rapporti sui dati che devono essere eseguiti frequentemente.

Macro e VBA

È possibile registrare ed eseguire macro con i comandi di Excel o da Excel VBA.

VBA sta per Visual Basic for Applications ed è un semplice linguaggio di programmazione disponibile tramite Excel Visual Basic Editor (VBE), disponibile dalla scheda SVILUPPATORE sulla barra multifunzione. Quando registri una macro, Excel genera il codice VBA. Se vuoi solo registrare una macro ed eseguirla, non è necessario imparare a utilizzare Excel VBA. Tuttavia, se desideri modificare una macro, puoi farlo solo modificando il codice VBA nell'editor VBA di Excel.

Imparerai come registrare una semplice macro ed eseguirla con i comandi di Excel nel capitolo - Creazione di una semplice macro. Imparerai di più sulle macro e sulla creazione e / o la modifica delle macro dall'editor VBA di Excel nei capitoli successivi.

Cartella macro personale

Una macro può essere salvata nella stessa cartella di lavoro da cui l'hai registrata. In tal caso, puoi eseguire la macro solo da quella cartella di lavoro e quindi dovresti tenerla aperta. Excel ti offre un modo alternativo per archiviare tutte le tue macro. È la cartella di lavoro macro personale, dove puoi salvare le tue macro, che ti consente di eseguire quelle macro da qualsiasi cartella di lavoro.

Imparerai a conoscere la cartella di lavoro delle macro personali nel capitolo - Salvataggio di tutte le macro in una cartella di lavoro singola.

Protezione macro

Le macro verranno archiviate come codice VBA in Excel. Come nel caso di qualsiasi altro codice, anche il codice macro è suscettibile a codice dannoso che può essere eseguito all'apertura di una cartella di lavoro. Questa è una minaccia per il tuo computer. Microsoft ha fornito la funzione Protezione macro che ti aiuta a proteggere il tuo computer da tali virus macro.

Imparerai di più su questo nel capitolo - Sicurezza macro.

Riferimenti assoluti e riferimenti relativi

Durante la registrazione di una macro, è possibile utilizzare riferimenti assoluti o relativi per le celle su cui si fa clic. I riferimenti assoluti fanno sì che la tua macro venga eseguita nelle stesse celle in cui hai registrato la macro. D'altra parte, i riferimenti relativi fanno eseguire la macro nella cella attiva.

Apprenderete queste informazioni nei capitoli - Utilizzo di riferimenti assoluti per una macro e Utilizzo di riferimenti relativi per una macro.

Codice macro in VBA

Puoi registrare ed eseguire macro da Excel anche se non conosci Excel VBA. Tuttavia, se devi modificare una macro registrata o creare una macro scrivendo codice VBA, dovresti imparare a VBA di Excel. Puoi fare riferimento al tutorial VBA di Excel in questa libreria di tutorial per questo

Tuttavia, dovresti sapere come visualizzare il codice della macro. Puoi imparare come accedere all'editor VBA in Excel e sulle diverse parti dell'editor VBA nel capitolo - Excel VBA.

Puoi imparare come visualizzare il codice macro nell'editor VBA di Excel e puoi capire il codice macro nel capitolo - Comprensione del codice macro.

Assegnazione di macro agli oggetti

È possibile assegnare una macro a un oggetto come una forma, un'immagine o un controllo. Quindi, puoi eseguire la macro facendo clic su quell'oggetto. Lo imparerai nel capitolo - Assegnazione di macro agli oggetti.

Esecuzione di macro

Excel offre diversi modi per eseguire una macro. Puoi scegliere il modo in cui desideri eseguire una macro. Imparerai a conoscere questi diversi modi possibili di eseguire una macro nel capitolo - Esecuzione di una macro.

Creazione di una macro utilizzando l'editor VBA

Se decidi di scrivere il codice macro, puoi impararlo nel capitolo - Creazione di una macro utilizzando l'editor VBA. Tuttavia, il prerequisito è che dovresti avere una conoscenza di Excel VBA.

Modifica di una macro

È possibile modificare il codice macro nell'editor VBA di Excel. Se desideri apportare modifiche sostanziali, dovresti avere una conoscenza di Excel VBA. Ma, se vuoi apportare solo piccole modifiche al codice o se vuoi copiare il codice VBA da una macro registrata a un'altra macro, puoi fare riferimento al capitolo - Modifica di una macro.

Puoi rinominare una macro e persino eliminarla. Imparerai anche questo nello stesso capitolo.

Moduli utente

Un modulo viene normalmente utilizzato per raccogliere le informazioni richieste. Sarà autoesplicativo rendendo il compito semplice. I moduli utente Excel creati dall'editor VBA di Excel hanno lo stesso scopo, fornendo le opzioni familiari come caselle di testo, caselle di controllo, pulsanti di opzione, caselle di riepilogo, caselle combinate, barre di scorrimento, ecc. Come controlli.

Imparerai come creare un modulo utente e come utilizzare i diversi controlli nel capitolo - Moduli utente.

Debug del codice macro

A volte, una macro potrebbe non essere eseguita come previsto. Potresti aver creato la macro o potresti utilizzare una macro fornita da qualcuno. È possibile eseguire il debug del codice macro così come si esegue il debug di qualsiasi altro codice per scoprire i difetti e correggerli. Lo imparerai nel capitolo - Debug del codice macro.

Configurazione di una macro da eseguire all'apertura di una cartella di lavoro

È possibile eseguire automaticamente la macro quando si apre una cartella di lavoro. Puoi farlo creando una macro Auto_Run o scrivendo il codice VBA per l'evento di apertura della cartella di lavoro. Lo imparerai nel capitolo Configurazione di una macro da eseguire all'apertura di una cartella di lavoro.

È possibile creare una macro con i comandi di Excel registrando i tratti dei tasti e i clic del mouse, assegnando un nome alla macro e specificando come memorizzare la macro. Una macro così registrata può essere eseguita con un comando Excel.

Supponiamo di dover raccogliere ripetutamente determinati risultati nel seguente formato:

Invece di creare la tabella ogni volta, puoi avere una macro per farlo per te.

Registrazione di una macro

Per registrare una macro, procedi come segue:

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro nel gruppo Macro.
  • Seleziona Registra macro dall'elenco a discesa.

Il Record Macro appare la finestra di dialogo.

  • genere MyFirstMacro nella casella Nome macro.

  • genere A Simple Macro nella casella Descrizione e fare clic su OK.

Ricorda che qualunque pressione dei tasti e clic del mouse fai, verrà registrata ora.

  • Fare clic nella cella B2.

  • Crea la tabella.

  • Fare clic in una cella diversa nel foglio di lavoro.

  • Fare clic sulla scheda VISTA sulla barra multifunzione.

  • Fare clic su Macro.

  • Selezionare Stop Recording dall'elenco a discesa.

La registrazione della macro è completata.

Il primo passaggio per fare clic su una particolare cella è importante in quanto indica dove esattamente la macro deve iniziare a posizionare i passaggi registrati. Una volta terminata la registrazione, è necessario fare clic su Interrompi registrazione per evitare la registrazione di passaggi non necessari.

Esecuzione di una macro

Puoi eseguire la macro che hai registrato tutte le volte che vuoi. Per eseguire la macro, procedi come segue:

  • Fare clic su un nuovo foglio di lavoro.

Nota la cella attiva. Nel nostro caso, è A1.

  • Clicca il VIEW scheda sulla barra multifunzione.

  • Clic Macros.

  • Selezionare View Macros dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

Solo la macro che hai registrato appare nell'elenco Macro.

  • Fare clic sul nome della macro - MyFirstMacro nella finestra di dialogo Macro. La descrizione che hai digitato durante la registrazione della macro verrà visualizzata. La descrizione della macro consente di identificare per quale scopo è stata registrata la macro.

  • Fare clic sul pulsante Esegui. La stessa tabella che hai creato durante la registrazione della macro apparirà in una frazione di secondo.

Hai scoperto la bacchetta magica che Excel ti offre per risparmiare tempo in attività banali. Osserverai quanto segue:

  • Sebbene la cella attiva prima di eseguire la macro fosse A1, la tabella viene inserita nella cella B2 come hai registrato.

  • Inoltre, la cella attiva è diventata E2, poiché hai fatto clic su quella cella prima di interrompere la registrazione.

È possibile eseguire la macro in più fogli di lavoro con celle attive diverse prima di eseguire la macro e osservare le stesse condizioni indicate sopra. Prendi nota di questo e capirai più avanti in questo tutorial perché è successo così.

Puoi anche avere una registrazione macro che inserisce i passi registrati nella cella attiva. Imparerai come farlo man mano che avanzi nel tutorial.

Memorizzazione di una macro

Potresti chiederti come salvare le macro che vengono create. In questo contesto devi sapere -

  • Memorizzazione di una macro
  • Salvataggio di un file abilitato per le macro

Quando crei una macro, puoi scegliere dove memorizzare quella particolare macro. Puoi farlo inRecord Macro la finestra di dialogo.

Fare clic sulla casella - Store macro in. Sono disponibili le tre opzioni seguenti:

  • Questa cartella di lavoro.
  • Nuova cartella di lavoro.
  • Cartella macro personale

Questa cartella di lavoro

Questa è l'opzione predefinita. La macro verrà archiviata nella cartella di lavoro corrente da cui è stata creata la macro.

Nuova cartella di lavoro

Questa opzione, sebbene disponibile, non è consigliata. Chiederai a Excel di memorizzare la macro in una nuova cartella di lavoro diversa e per lo più non è necessario.

Cartella macro personale

Se crei diverse macro da utilizzare nelle cartelle di lavoro, la cartella di lavoro macro personale ti offre la possibilità di archiviare tutte le macro in un unico posto. Imparerai di più su questa opzione nel prossimo capitolo.

Salvataggio di un file abilitato per macro

Se tu avessi scelto This Workbook come opzione per memorizzare la macro, dovresti salvare la cartella di lavoro insieme alla macro.

Prova a salvare la cartella di lavoro. Per impostazione predefinita, chiederesti a Excel di salvare la cartella di lavoro come file .xls. Excel visualizza un messaggio che dice che un progetto VB con funzionalità di Excel non può essere salvato in una cartella di lavoro senza macro, come mostrato di seguito.

Note- Se fai clic su Sì, Excel salverà la tua cartella di lavoro come file .xls senza macro e la macro che hai memorizzato con l'opzione Questa cartella di lavoro non verrà salvata. Per evitare ciò, Excel offre un'opzione per salvare la cartella di lavoro come cartella di lavoro abilitata per le macro che avrà l'estensione .xlsm.

  • Fare clic su No nella finestra del messaggio di avviso.
  • Selezionare Cartella di lavoro con attivazione macro di Excel (* .xlsm) nel tipo Salva come.
  • Fare clic su Salva.

Imparerai di più su questi nei capitoli successivi di questo tutorial.

Excel ti offre la possibilità di archiviare tutte le tue macro in una singola cartella di lavoro. La cartella di lavoro si chiama Personal Macro Workbook - Personal.xlsb. È una cartella di lavoro nascosta archiviata sul tuo computer, che si apre ogni volta che apri Excel. Ciò consente di eseguire le macro da qualsiasi cartella di lavoro. Ci sarà una singola cartella di lavoro macro personale per computer e non sarà possibile condividerla su più computer. È possibile visualizzare ed eseguire le macro nella cartella di lavoro macro personale da qualsiasi cartella di lavoro sul computer.

Salvataggio delle macro nella cartella di lavoro delle macro personali

È possibile salvare le macro nella cartella di lavoro delle macro personali selezionandola come opzione di archiviazione durante la registrazione delle macro.

Seleziona Cartella macro personale dall'elenco a discesa sotto la categoria Store macro in.

  • Registra la tua seconda macro.
  • Fornire i dettagli della macro nella finestra di dialogo Registra macro come mostrato di seguito.
  • Fare clic su OK.

La registrazione inizia. Crea una tabella come mostrato di seguito.

  • Interrompi la registrazione.

  • Fare clic sulla scheda VISTA sulla barra multifunzione.

  • Fare clic su Macro.

  • Selezionare View Macrosdall'elenco a discesa. Viene visualizzata la finestra di dialogo Macro.

Il nome della macro viene visualizzato con un prefisso PERSONAL.XLSB! indicando che la macro si trova nella cartella di lavoro Macro personale.

Salva la tua cartella di lavoro. Verrà salvato come file .xls poiché la macro non è nella cartella di lavoro e chiude Excel.

Verrà visualizzato il seguente messaggio relativo al salvataggio delle modifiche alla cartella di lavoro delle macro personali:

Fare clic sul pulsante Salva. La tua macro viene salvata nel filePersonal.xlsb file sul tuo computer.

Nascondere / scoprire la cartella di lavoro delle macro personali

La cartella di lavoro macro personale sarà nascosta per impostazione predefinita. Quando si avvia Excel, la cartella di lavoro macro personale viene caricata ma non è possibile visualizzarla perché è nascosta. Puoi scoprirlo come segue:

  • Clicca il VIEW scheda sulla barra multifunzione.

  • Fare clic su Scopri nel gruppo Finestra.

Viene visualizzata la finestra di dialogo Scopri.

PERSONAL.XLSB viene visualizzato nella casella Scopri la cartella di lavoro e fare clic su OK.

Ora puoi visualizzare le macro salvate nella cartella di lavoro delle macro personali.

Per nascondere la cartella di lavoro macro personale, eseguire le operazioni seguenti:

  • Fare clic sulla cartella di lavoro macro personale.
  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Nascondi sulla barra multifunzione.

Esecuzione di macro salvate nella cartella di lavoro delle macro personali

È possibile eseguire le macro salvate nella cartella di lavoro macro personale da qualsiasi cartella di lavoro. Per eseguire le macro, non fa alcuna differenza se la cartella di lavoro macro personale è nascosta o non nascosta.

  • Fare clic su Visualizza macro.
  • Seleziona il nome della macro dall'elenco delle macro.
  • Fare clic sul pulsante Esegui. La macro verrà eseguita.

Aggiunta / eliminazione di macro nella cartella di lavoro delle macro personali

Puoi aggiungere più macro nella cartella di lavoro delle macro personali selezionandola per l'opzione Memorizza macro in durante la registrazione delle macro, come hai visto in precedenza.

È possibile eliminare una macro nella cartella di lavoro delle macro personali come segue:

  • Assicurati che la cartella di lavoro macro personale non sia nascosta.
  • Fare clic sul nome della macro nella finestra di dialogo Visualizza macro.
  • Fare clic sul pulsante Elimina.

Se la cartella di lavoro macro personale è nascosta, verrà visualizzato un messaggio che dice "Impossibile modificare una macro su una cartella di lavoro nascosta".

Scopri la cartella di lavoro macro personale ed elimina la macro selezionata.

La macro non apparirà nell'elenco delle macro. Tuttavia, quando crei una nuova macro e la salvi nella tua cartella di lavoro personale o elimini le macro in essa contenute, ti verrà chiesto di salvare la cartella di lavoro personale come nel caso in cui l'hai salvata la prima volta.

Le macro che crei in Excel verranno scritte nel linguaggio di programmazione VBA (Visual Basic for Applications). Imparerai a conoscere il codice macro di Excel nei capitoli successivi. Come sai, quando c'è un codice eseguibile, c'è una minaccia di virus. Le macro sono anche suscettibili ai virus.

Cosa sono i virus macro?

Excel VBA in cui vengono scritte le macro ha accesso alla maggior parte delle chiamate di sistema di Windows e viene eseguito automaticamente all'apertura delle cartelle di lavoro. Quindi, esiste una potenziale minaccia dell'esistenza di un virus scritto come macro e nascosto in Excel che vengono eseguiti all'apertura di una cartella di lavoro. Pertanto, le macro di Excel possono essere molto pericolose per il tuo computer in molti modi. Tuttavia, Microsoft ha adottato misure appropriate per proteggere le cartelle di lavoro dai virus macro.

Microsoft ha introdotto la protezione delle macro in modo da poter identificare quali macro ci si può fidare e quali no.

Cartelle di lavoro Excel con attivazione macro

La più importante funzionalità di protezione delle macro di Excel è: le estensioni dei file.

Le cartelle di lavoro di Excel verranno salvate con l'estensione file .xlsx per impostazione predefinita. Puoi sempre fidarti delle cartelle di lavoro con estensione file .xlsx, poiché non sono in grado di memorizzare una macro e non porteranno alcuna minaccia.

Le cartelle di lavoro di Excel con macro vengono salvate con estensione file .xlsm. Sono denominati cartelle di lavoro Excel con attivazione macro. Prima di aprire tali cartelle di lavoro, è necessario assicurarsi che le macro che contengono non siano dannose. Per questo, devi assicurarti di poter fidarti dell'origine di questo tipo di cartelle di lavoro.

Modi di fidarsi della cartella di lavoro abilitata per le macro

Excel offre tre modi per considerare attendibile una cartella di lavoro abilitata per le macro.

  • Posizionamento delle cartelle di lavoro abilitate per la macro in una cartella attendibile

  • Verifica se una macro è firmata digitalmente

  • Abilitazione dei messaggi di avviso di sicurezza prima di aprire le cartelle di lavoro abilitate per le macro

Posizionamento delle cartelle di lavoro abilitate per la macro in una cartella attendibile

Questo è il modo più semplice e migliore per gestire la sicurezza delle macro. Excel ti consente di designare una cartella come posizione attendibile. Posiziona tutte le cartelle di lavoro abilitate per le macro in quella cartella attendibile. È possibile aprire cartelle di lavoro abilitate per le macro salvate in questa posizione senza avvisi o restrizioni.

Verifica se una macro è firmata digitalmente

Le firme digitali confermano l'identità dell'autore. È possibile configurare Excel per eseguire macro con firma digitale da persone attendibili senza avvisi o restrizioni. Excel avviserà anche il destinatario se è stato modificato da quando l'autore l'ha firmato.

Abilitazione dei messaggi di avviso di sicurezza prima di aprire le cartelle di lavoro abilitate per le macro

Quando apri una cartella di lavoro, Excel ti avvisa che la cartella di lavoro contiene macro e ti chiede se desideri abilitarle. Puoi fare clic suEnable Content se l'origine della cartella di lavoro è affidabile.

È possibile impostare una qualsiasi di queste tre opzioni nel Centro protezione nelle Opzioni di Excel.

Se lavori in un'organizzazione, l'amministratore di sistema potrebbe aver modificato le impostazioni predefinite per impedire a chiunque di modificare le impostazioni. Microsoft consiglia di non modificare le impostazioni di sicurezza nel Centro protezione poiché le conseguenze possono essere la perdita di dati, il furto di dati o la compromissione della sicurezza sul computer o sulla rete.

Tuttavia, è possibile apprendere le impostazioni di protezione delle macro nelle sezioni seguenti e verificare se devono essere modificate. Devi usare il tuo istinto per decidere su una qualsiasi di queste opzioni in base al contesto e alla tua conoscenza dell'origine del file.

Impostazioni di protezione delle macro nel Centro protezione

Le impostazioni delle macro si trovano nel Centro protezione nelle Opzioni di Excel. Per accedere al Centro protezione, procedi come segue:

  • Fare clic sulla scheda FILE sulla barra multifunzione.

  • Fare clic su Opzioni. Viene visualizzata la finestra di dialogo Opzioni di Excel.

  • Clic Trust Center nel riquadro di sinistra.

  • Clicca il Trust Center Settings nel Centro protezione di Microsoft Excel.

Il Trust Center appare la finestra di dialogo.

Vedrai varie opzioni disponibili nel Centro protezione di Excel nel riquadro di sinistra. Imparerai a conoscere le opzioni relative alle macro di Excel nelle sezioni seguenti.

Impostazioni macro

Le impostazioni delle macro si trovano nel Centro protezione.

In Impostazioni macro sono disponibili quattro opzioni.

  • Disable all macros without notification - Se si sceglie questa opzione, le macro e gli avvisi di sicurezza sulle macro sono disabilitati.

  • Disable all macros with notification- Le macro sono disabilitate, ma vengono visualizzati avvisi di sicurezza se sono presenti macro. È possibile abilitare le macro caso per caso.

  • Disable all macros except digitally signed macros- Le macro sono disabilitate ma vengono visualizzati avvisi di sicurezza se sono presenti macro. Tuttavia, se la macro è firmata digitalmente da un editore attendibile, la macro viene eseguita se si considera attendibile l'editore. Se non ritieni attendibile l'editore, riceverai una notifica per abilitare la macro firmata e considerare attendibile l'editore.

  • Enable all macros (not recommended, susceptible to macro viruses)- Se si sceglie questa opzione, vengono eseguite tutte le macro. Questa impostazione rende il computer vulnerabile a codice potenzialmente dannoso.

Hai un'opzione di sicurezza aggiuntiva in Impostazioni macro sviluppatore con una casella di controllo.

  • Trust access to the VBA project object model.

    • Questa opzione consente l'accesso a livello di codice al modello di oggetti Visual Basic for Applications (VBA) da un client di automazione.

    • Questa opzione di protezione serve per il codice scritto per automatizzare un programma di Office e manipolare l'ambiente VBA e il modello a oggetti.

    • È un'impostazione per utente e per applicazione e nega l'accesso per impostazione predefinita, impedendo ai programmi non autorizzati di creare codice auto-replicante dannoso.

    • Affinché i client di automazione accedano al modello a oggetti VBA, l'utente che esegue il codice deve concedere l'accesso. Per attivare l'accesso, seleziona la casella di controllo.

Definizione di una posizione attendibile

Se ritieni che una cartella di lavoro abilitata per le macro provenga da una fonte affidabile, è meglio spostare il file nella posizione attendibile identificata da Excel, invece di modificare le impostazioni predefinite del Centro protezione su un'impostazione di protezione macro meno sicura.

Puoi trovare le impostazioni della cartella attendibile nel Centro protezione.

Fare clic su Percorsi attendibili nella finestra di dialogo Centro protezione. I percorsi attendibili impostati da Microsoft Office vengono visualizzati sul lato destro.

È possibile aggiungere nuove posizioni, rimuovere le posizioni esistenti e modificare le posizioni esistenti. I percorsi attendibili identificati verranno considerati da Microsoft Office come affidabili per l'apertura dei file. Tuttavia, se aggiungi o modifichi una posizione, assicurati che la posizione sia sicura.

Puoi anche trovare le opzioni che l'ufficio non consiglia, come le posizioni su Internet.

Macro firmate digitalmente da fonti affidabili

Microsoft offre un'opzione per ospitare macro con firma digitale. Tuttavia, anche se una macro è firmata digitalmente, è necessario assicurarsi che provenga da un editore attendibile.

Troverai gli editori attendibili nel Centro protezione.

  • Clic Trusted Publishersnella finestra di dialogo Centro protezione. Sul lato destro viene visualizzato un elenco di certificati con i dettagli: Emesso a, Emesso da e Data di scadenza.

  • Seleziona un certificato e fai clic su Visualizza.

Vengono visualizzate le informazioni sul certificato.

Come si è appreso in precedenza in questo capitolo, è possibile impostare un'opzione per eseguire una macro con firma digitale solo se si considera attendibile l'editore. Se non ritieni attendibile l'editore, riceverai una notifica per abilitare la macro firmata e considerare attendibile l'editore.

Utilizzo dei messaggi di avviso

La barra dei messaggi visualizza un avviso di sicurezza quando sono presenti macro nel file che si sta aprendo. La barra dei messaggi gialla con un'icona a forma di scudo ti avvisa che le macro sono disabilitate.

Se sai che la macro o le macro provengono da una fonte affidabile, puoi fare clic sul pulsante Abilita contenuto sulla barra dei messaggi per abilitare le macro.

È possibile disabilitare l'opzione della barra dei messaggi se non si desiderano avvisi di sicurezza. D'altra parte, puoi abilitare l'opzione della barra dei messaggi per aumentare la sicurezza.

Abilitazione / disabilitazione degli avvisi di sicurezza sulla barra dei messaggi

È possibile abilitare / disabilitare gli avvisi di sicurezza con le barre dei messaggi come segue:

  • Fare clic sulla scheda FILE sulla barra multifunzione.
  • Fare clic su Opzioni. Viene visualizzata la finestra di dialogo Opzioni di Excel.
  • Fare clic su Centro protezione.
  • Fare clic sul pulsante Impostazioni Centro protezione.
  • Fare clic sulla barra dei messaggi.

Vengono visualizzate le impostazioni della barra dei messaggi per tutte le applicazioni di Office.

Ci sono due opzioni sotto - Showing the Message Bar.

Option 1 - Mostra la barra dei messaggi in tutte le applicazioni quando il contenuto attivo come le macro è bloccato.

  • Questa è l'opzione predefinita. La barra dei messaggi viene visualizzata quando il contenuto potenzialmente non sicuro è stato disabilitato.

  • Se avessi selezionato - Disable all macros without notification in the Macro Settings of the Trust Center, questa opzione non è selezionata e la barra dei messaggi non viene visualizzata.

Option 2 - Non mostrare mai informazioni sui contenuti bloccati.

Se questa opzione è selezionata, disabilita la barra dei messaggi e non vengono visualizzati avvisi sui problemi di sicurezza, indipendentemente dalle impostazioni di sicurezza nel Centro protezione.

Le macro di Excel possono essere registrate con riferimenti assoluti o relativi. Una macro registrata con riferimenti assoluti posiziona i passi registrati esattamente nelle celle in cui è stata registrata, indipendentemente dalla cella attiva. D'altra parte, una macro registrata con i relativi riferimenti può eseguire le attività registrate in diverse parti del foglio di lavoro.

Imparerai a conoscere i riferimenti assoluti per le macro in questo capitolo. Imparerai i riferimenti relativi nel prossimo capitolo.

Supponi di dover inviare un rapporto sul lavoro del tuo team alla fine di ogni giornata nel seguente formato:

Ora, il report dovrebbe essere posizionato nella cella B2 e dovrebbe essere nel formato specificato.

Un esempio di rapporto compilato sarà come mostrato di seguito:

Fatta eccezione per i dati nelle celle seguenti, le informazioni sono costanti per ogni report generato per il progetto.

  • C3 - Report per data.
  • C13 - Numero di attività completate oggi.
  • C14 - Numero totale di attività completate.
  • C15 -% lavoro completato.

Anche di questi, in C3 (Report for Date) è possibile posizionare la funzione Excel = TODAY ()che inserisce la data della tua segnalazione senza il tuo intervento. Inoltre, nella cella C15, puoi avere la formula C14 / C12 e formattare la cella C15 come percentuale per avere la% di completamento del lavoro calcolata da Excel per te.

Questo ti lascia con solo due celle: C13 e C14 che devono essere compilate da te ogni giorno. Quindi, l'ideale sarebbe avere informazioni per il resto delle celle, ogni volta che devi creare il rapporto. Questo ti fa risparmiare tempo e puoi svolgere la banale attività di reporting in pochi minuti.

Supponiamo ora di dover inviare tali rapporti per tre progetti. Puoi immaginare il tempo che puoi risparmiare e svolgere un lavoro più impegnativo per la giornata e, naturalmente, ottenere i riconoscimenti dalla tua direzione.

È possibile ottenere questo risultato registrando una macro per progetto ed eseguendola quotidianamente per generare i report richiesti in pochi minuti. Tuttavia, ogni volta che si esegue la macro, il report dovrebbe essere visualizzato nel foglio di lavoro come indicato sopra, indipendentemente dalla cella attiva. Per questo, devi usare riferimenti assoluti.

Garantire riferimenti assoluti

Per registrare una macro con riferimenti assoluti, devi assicurarti che la macro venga registrata a partire dalla cella in cui devono iniziare i passaggi. Ciò significa che, nel caso dell'esempio fornito nella sezione precedente, è necessario eseguire le seguenti operazioni:

  • Inizia a registrare la macro.
  • Crea un nuovo foglio di lavoro.
  • Fare clic in qualsiasi cella diversa da B2 nel nuovo foglio di lavoro.
  • Fare clic nella cella B2.
  • Continua a registrare la macro.

Questo creerà un nuovo foglio di lavoro per ogni nuovo rapporto e otterrà il formato del rapporto inserito nella cella B2 ogni volta che esegui la macro.

Note - I primi tre passaggi sopra indicati sono essenziali.

  • Se non crei un nuovo foglio di lavoro, quando esegui la macro, tutto ciò che hai registrato sullo stesso foglio di lavoro nello stesso posto. Questo non è quello che vuoi. Devi avere ogni rapporto su un foglio di lavoro diverso.

  • Se non si fa clic in una cella diversa all'inizio della registrazione, anche se la cella attiva è B2, Excel inserisce i passaggi registrati nella cella attiva. Quando si esegue la macro, verrà posizionato il formato del report registrato in qualsiasi parte del foglio di lavoro in base alla cella attiva. Facendo clic esplicitamente su una cella diversa da B2 e quindi sulla cella B2, stai dicendo al registratore di posizionare sempre i tuoi passi macro nella cella B2.

Registrazione di una macro

È possibile avviare la registrazione della macro con l'estensione Record Macrocomando sulla barra multifunzione nella scheda VISTA → Macro. Puoi anche fare clic suStart Recording Macro pulsante presente sul lato sinistro della barra delle applicazioni di Excel.

  • Inizia a registrare la macro. IlRecord Macro appare la finestra di dialogo.

  • Assegnare un nome significativo per identificare la macro come report di un particolare progetto.

  • Seleziona questa cartella di lavoro in Store macro in, poiché produrrai rapporti solo da questa cartella di lavoro specifica.

  • Fornisci una descrizione alla tua macro e fai clic su OK.

La tua macro inizia a registrare.

  • Crea un nuovo foglio di lavoro. Ciò garantisce che il nuovo rapporto si trovi su un nuovo foglio di lavoro.

  • Fare clic in qualsiasi cella diversa da B2 nel nuovo foglio di lavoro.

  • Fare clic nella cella B2. Ciò garantisce che la macro collochi sempre i passaggi registrati in B2.

  • Crea il formato per il rapporto.

  • Compila le informazioni statiche per il report del progetto.

  • Posiziona = TODAY () in C3 e = C14 / C12 nella cella C15.

  • Formatta le celle con le date.

Interrompi la registrazione della macro.

Puoi interrompere la registrazione della macro con il Stop Recording comando sulla barra multifunzione nella scheda VISTA → Macro o facendo clic sul pulsante Interrompi registrazione macro presente sul lato sinistro della barra delle applicazioni di Excel.

La macro del report di progetto è pronta. Salva la cartella di lavoro come cartella di lavoro abilitata per le macro (con estensione .xlsm).

Esecuzione di una macro

È possibile generare un numero qualsiasi di rapporti in pochi secondi semplicemente eseguendo la macro.

  • Fare clic sul pulsante VISUALIZZA sulla barra multifunzione.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa. Viene visualizzata la finestra di dialogo Macro.
  • Fare clic sulla macro Report_ProjectXYZ.
  • Fare clic sul pulsante Esegui.

Verrà creato un nuovo foglio di lavoro nella cartella di lavoro, con lo stencil del report creato al suo interno nella cella B2.

Le macro di riferimento relativo registrano un offset dalla cella attiva. Tali macro saranno utili se è necessario ripetere i passaggi in vari punti del foglio di lavoro.

Supponi di dover analizzare i dati degli elettori raccolti da 280 collegi elettorali. Per ogni circoscrizione vengono raccolti i seguenti dettagli:

  • Nome della circoscrizione.
  • Popolazione totale nella circoscrizione.
  • Numero di elettori nella circoscrizione.
  • Numero di elettori maschi e
  • Numero di votanti donne.

I dati vengono forniti in un foglio di lavoro come indicato di seguito.

Non è possibile analizzare i dati nel formato sopra. Pertanto, disporre i dati in una tabella come mostrato di seguito.

Se tenti di organizzare i dati forniti nel formato sopra -

  • Ci vuole una notevole quantità di tempo per organizzare i dati delle 280 circoscrizioni

  • Può essere soggetto a errori

  • Diventa un compito banale non permettendoti di concentrarti su cose tecniche

La soluzione è registrare una macro in modo da poter completare l'attività in non più di pochi secondi. La macro deve utilizzare riferimenti relativi, poiché ti sposterai verso il basso nelle righe mentre disponi i dati.

Utilizzo di riferimenti relativi

Per far sapere al registratore di macro che deve utilizzare riferimenti relativi, eseguire le seguenti operazioni:

  • Clicca il VIEW scheda sulla barra multifunzione.

  • Clic Macros.

  • Clic Use Relative References.

Preparazione del formato dei dati

Il primo passo per organizzare i dati sopra indicati è definire il formato dei dati in una tabella con intestazioni.

Crea la riga di intestazioni come mostrato di seguito.

Registrazione di una macro

Registra la macro come segue:

  • Fare clic su Registra macro.

  • Dai un nome significativo, ad esempio, DataArrange alla macro.

  • Tipo = row ()- 3nella cella B4. Questo perché S. No. è il numero di riga corrente, le 3 righe sopra di esso.

  • Taglia le celle B5, B6, B7, B8 e B9 e incollale nelle celle da C4 a C8 rispettivamente.

  • Ora fai clic nella cella B5. Il tuo tavolo appare come mostrato di seguito.

Il primo set di dati è disposto nella prima riga della tabella. Elimina le righe B6 - B11 e fai clic nella cella B5.

Puoi vedere che la cella attiva è B5 e il prossimo set di dati verrà posizionato qui.

Interrompi la registrazione della macro. La tua macro per organizzare i dati è pronta.

Esecuzione di una macro

È necessario eseguire ripetutamente la macro per completare la disposizione dei dati nella tabella come indicato di seguito.

La cella attiva è B5. Esegui la macro. Il secondo set di dati verrà disposto nella seconda riga della tabella e la cella attiva sarà B6.

Eseguire di nuovo la macro. Il terzo set di dati verrà disposto nella terza riga della tabella e la cella attiva diventerà B7.

Ogni volta che si esegue la macro, la cella attiva avanza alla riga successiva, facilitando la ripetizione dei passaggi registrati nelle posizioni appropriate. Ciò è possibile a causa dei relativi riferimenti nella macro.

Esegui la macro finché tutti i 280 set di dati non sono disposti in 280 righe nella tabella. Questo processo richiede alcuni secondi e poiché i passaggi sono automatizzati, l'intero esercizio è privo di errori.

Excel memorizza le macro come codice Excel VBA (Visual Basic for Applications). Dopo aver registrato una macro, è possibile visualizzare il codice generato, modificarlo, copiarne una parte, ecc. È anche possibile scrivere un codice macro da soli se si ha dimestichezza con la programmazione in VBA.

Imparerai come creare una macro, scrivendo un codice VBA, nel capitolo - Creazione di una macro utilizzando l'editor VBA. Imparerai come modificare una macro modificando il codice VBA nel capitolo - Modifica di una macro. Imparerai le funzionalità di Excel VBA in questo capitolo.

Scheda sviluppatore sulla barra multifunzione

È possibile accedere al codice macro in VBA dalla scheda Sviluppatore sulla barra multifunzione.

Se non trovi la scheda Sviluppatore sulla barra multifunzione, devi aggiungerla come segue:

  • Fare clic con il tasto destro sulla barra multifunzione.

  • Selezionare Customize the Ribbon dall'elenco a discesa.

Il Excel Options appare la finestra di dialogo.

  • Selezionare Main Tabs a partire dal Customize the Ribbon menu `A tendina.

  • Seleziona la casella - Sviluppatore nell'elenco Schede principali e fai clic su OK. Viene visualizzata la scheda sviluppatore.

Comandi dello sviluppatore per le macro

È necessario conoscere i comandi per le macro nella scheda sviluppatore.

Fare clic sulla scheda SVILUPPATORE sulla barra multifunzione. I seguenti comandi sono disponibili nel gruppo Codice:

  • Visual Basic
  • Macros
  • Registra macro
  • Usa riferimenti relativi
  • Protezione macro

Il comando Visual Basic viene utilizzato per aprire l'editor VBA in Excel e il comando Macro viene utilizzato per visualizzare, eseguire ed eliminare le macro.

Hai già imparato i comandi diversi da VBA Editor nei capitoli precedenti.

Editor VBA

VBA Editor o VBE è la piattaforma di sviluppo per VBA in Excel.

Apri la cartella di lavoro - MyFirstMacro.xlsm che hai salvato in precedenza nel capitolo - Creazione di una macro semplice, in questo tutorial.

Puoi aprire VBE in uno dei due modi:

Option 1 - Fare clic su Visual Basic nel gruppo Codice sotto la scheda Sviluppatore sulla barra multifunzione.

Option 2 - Fare clic su Modifica nella finestra di dialogo Macro che appare quando si fa clic sulla scheda VISTA → Macro → Visualizza macro

VBE appare in una nuova finestra.

Il nome della cartella di lavoro abilitata per la macro di Excel viene visualizzato con il prefisso: Microsoft Visual Basic, Applications Edition.

Troverai quanto segue nel VBE:

  • Esplora progetti.
  • Properties.
  • Finestra del modulo con codice.

Esplora progetti

Project Explorer è dove trovi i nomi dei progetti VBA. Sotto un progetto, troverai i nomi dei fogli e i nomi dei moduli. Quando si fa clic sul nome di un modulo, il codice corrispondente viene visualizzato sul lato destro in una finestra.

Finestra delle proprietà

Le Proprietà sono i parametri per gli oggetti VBA. Quando hai un oggetto come il pulsante di comando, le sue proprietà appariranno nella finestra Proprietà.

Finestra del modulo con codice

Il codice di una macro verrà archiviato in un modulo in VBA. Quando si seleziona una macro e si fa clic su Modifica, il codice della macro viene visualizzato nella finestra del modulo corrispondente.

Quando registri una macro, Excel la memorizza come codice VBA. Puoi visualizzare questo codice nell'editor VBA. Puoi capire il codice e modificarlo se hai una conoscenza approfondita di Excel VBA. È possibile fare riferimento all'esercitazione VBA di Excel in questa libreria di esercitazioni per ottenere una comprensione della lingua.

Tuttavia, è comunque possibile visualizzare il codice della macro nell'editor VBA di Excel e abbinarlo ai passaggi registrati nella macro. Imparerai come visualizzare il codice e comprenderlo per la prima macro che hai creato in questo tutorial: MyFirstMacro.

Visualizzazione di un codice macro nell'editor VBA

Per visualizzare un codice macro, eseguire le operazioni seguenti:

  • Apri la cartella di lavoro in cui hai memorizzato la macro.
  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

  • Fare clic su MyFirstMacro nell'elenco delle macro.
  • Fare clic sul pulsante Modifica.

Si apre l'editor VBA e viene visualizzato il codice della macro MyFirstMacro.

Comprensione delle azioni registrate come parti del codice

È possibile sfogliare il codice della macro e associarli ai passaggi registrati.

  • Inizia a leggere il codice.
  • Mappare il codice ai passaggi registrati.

Scorri il codice verso il basso per visualizzare altro codice. In alternativa, puoi ingrandire la finestra del codice.

Osserva che il codice è semplice. Se impari Excel VBA, puoi creare le macro scrivendo il codice nell'editor VBA.

Imparerai come scrivere un codice VBA per creare una macro nel capitolo - Creazione di una macro utilizzando l'editor VBA.

Supponi di aver creato una macro che devi eseguire più volte. Ad esempio, le macro che hai creato per riferimenti assoluti e riferimenti relativi. Quindi, sarebbe facile per te se puoi eseguire la macro utilizzando un clic del mouse. È possibile eseguire ciò assegnando la macro a un oggetto come una forma, un'immagine o un controllo.

In questo capitolo imparerai come includere un oggetto nella tua cartella di lavoro e assegnargli una macro.

Ricorda la macro che hai creato usando i riferimenti relativi. La macro dispone i dati forniti in una colonna in una tabella per facilitare l'analisi dei dati.

Assegnazione di una macro a una forma

Puoi inserire una forma nel tuo foglio di lavoro che sia in una forma significativa con testo autoesplicativo, che quando cliccato esegue la macro ad essa assegnata.

  • Clicca il INSERT scheda sulla barra multifunzione.

  • Clic Shapes nel gruppo Illustrazioni.

  • Seleziona una delle forme già pronte che appaiono nell'elenco a discesa. Ad esempio, la forma del diagramma di flusso - Preparazione, poiché stai preparando i dati.

Disegna la forma e formattala.

  • Fare clic con il tasto destro sulla forma e selezionare Edit Text dall'elenco a discesa.

  • Digita il testo all'interno della forma - Esegui macro.

  • Formatta il testo.

  • Fare clic con il tasto destro sulla forma.
  • Seleziona Assegna macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Assegna macro. Fare clic sul nome della macro, ad esempio RelativeMacro e fare clic su OK.

La macro è assegnata alla forma.

  • Fare clic nella cella in cui è necessario eseguire la macro, dire B4.

  • Spostare il cursore (puntatore) sulla forma. Il cursore (puntatore) si trasforma in dito.

Ora fai clic sulla forma. La macro verrà eseguita. Basta ripetere i clic del mouse per eseguire la macro più volte e hai finito con il compito di disporre i dati in una tabella in pochi secondi.

Assegnazione di una macro a un grafico

È possibile inserire un'immagine nel foglio di lavoro e assegnarvi una macro. Il grafico può essere scelto per visualizzare la tua macro. Ad esempio, puoi avere un'immagine di tabella che rappresenta che la macro organizzerà i dati in una tabella.

  • Fare clic sulla scheda INSERISCI sulla barra multifunzione.
  • Fare clic su Immagini nel gruppo Illustrazioni.
  • Seleziona un file che contiene la tua grafica.

Il resto dei passaggi sono gli stessi di quelli di forma indicati nella sezione precedente.

Assegnazione di una macro a un controllo

L'inserimento di un controllo VBA e l'assegnazione di una macro rende il tuo lavoro professionale. È possibile inserire controlli VBA dalla scheda Sviluppatore sulla barra multifunzione.

  • Clicca il DEVELOPER scheda sulla barra multifunzione.

  • Clic Insert nel gruppo Controlli.

Seleziona l'icona del pulsante sotto Form Controls dall'elenco a discesa come mostrato nella schermata riportata di seguito -

  • Fare clic sulla cella del foglio di lavoro in cui si desidera inserire il controllo Button. Viene visualizzata la finestra di dialogo Assegna macro.

  • Fare clic sul nome della macro e fare clic su OK.

Verrà inserito il pulsante di controllo con la macro assegnata.

  • Fare clic con il tasto destro sul pulsante.
  • Fare clic su Modifica testo.
  • Tipo - Esegui macro.
  • Formatta il testo e ridimensiona il pulsante.

È possibile eseguire la macro un numero qualsiasi di volte facendo clic ripetutamente sul pulsante.

L'utilizzo dei controlli del modulo è un modo semplice ed efficace per interagire con l'utente. Imparerai di più su questo nel capitolo - Interagire con l'utente.

Esistono diversi modi per eseguire una macro nella cartella di lavoro. La macro sarebbe stata salvata nella cartella di lavoro abilitata per macro o nella cartella di lavoro macro personale a cui è possibile accedere da qualsiasi cartella di lavoro come appreso in precedenza.

Puoi eseguire una macro nei seguenti modi:

  • Esecuzione di una macro dalla scheda Visualizza
  • Esecuzione di una macro premendo Ctrl più un tasto di scelta rapida
  • Esecuzione di una macro facendo clic su un pulsante sulla barra di accesso rapido
  • Esecuzione di una macro facendo clic su un pulsante in un gruppo personalizzato sulla barra multifunzione
  • Esecuzione di una macro facendo clic su un oggetto grafico
  • Esecuzione di una macro dalla scheda Sviluppatore
  • Esecuzione di una macro dall'editor VBA

Esecuzione di una macro dalla scheda Visualizza

Hai già imparato a eseguire una macro dalla scheda Visualizza sulla barra multifunzione. Un breve riepilogo -

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

  • Fare clic sul nome della macro.
  • Fare clic sul pulsante Esegui.

Esecuzione di una macro con il tasto di scelta rapida

È possibile assegnare un tasto di scelta rapida (Ctrl + tasto) per una macro. Puoi farlo mentre registri la macro nel fileCreate Macrola finestra di dialogo. Altrimenti, puoi aggiungerlo in seguito nel fileMacro Options la finestra di dialogo.

Aggiunta di un tasto di scelta rapida durante la registrazione di una macro

  • Fare clic sulla scheda VISUALIZZA.
  • Fare clic su Macro.
  • Seleziona Registra macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Crea macro.

  • Digita un nome per la macro
  • Digita una lettera, ad esempio q, nella casella accanto a Ctrl + sotto Tasto di scelta rapida.

Aggiunta di un tasto di scelta rapida in Opzioni macro

  • Fare clic sulla scheda VISUALIZZA.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

  • Seleziona il nome della macro.
  • Fare clic sul pulsante Opzioni.

Viene visualizzata la finestra di dialogo Opzioni macro. Digita una lettera, ad esempio q, nella casella accanto a Ctrl + sotto Tasto di scelta rapida. Fare clic su OK.

Per eseguire la macro con il tasto di scelta rapida, premere il tasto Ctrl e il tasto q insieme. La macro verrà eseguita.

Note- È possibile utilizzare qualsiasi lettera minuscola o maiuscola per il tasto di scelta rapida di una macro. Se utilizzi una combinazione di lettere Ctrl + che è un tasto di scelta rapida di Excel, la sovrascriverà. Gli esempi includono Ctrl + C, Ctrl + V, Ctrl + X, ecc. Quindi, usa la tua giurisdizione mentre scegli le lettere.

Esecuzione di una macro tramite la barra di accesso rapido

È possibile aggiungere un pulsante macro alla barra degli strumenti di accesso rapido ed eseguire la macro facendo clic su di esso. Questa opzione sarebbe utile quando si archiviano le macro nella cartella di lavoro delle macro personali. Il pulsante aggiunto apparirà sulla barra degli strumenti di accesso rapido in qualsiasi cartella di lavoro che apri, facilitando così l'esecuzione della macro.

Supponi di avere una macro con il nome MyMacro nella tua cartella di lavoro personale delle macro.

Per aggiungere il pulsante macro alla barra degli strumenti di accesso rapido, procedi come segue:

  • Fare clic con il tasto destro sulla barra degli strumenti di accesso rapido.

  • Selezionare Customize Quick Access Toolbar dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Opzioni di Excel. Seleziona Macro dall'elenco a discesa sotto la categoria-Choose commands from.

Un elenco di macro viene visualizzato in Macro.

  • Fare clic su PERSONAL.XLSB! MyMacro.
  • Fare clic sul pulsante Aggiungi.

Il nome della macro viene visualizzato sul lato destro, con un'immagine del pulsante macro.

Per modificare l'immagine del pulsante macro, procedere come segue:

  • Fare clic sul nome della macro nella casella a destra.
  • Fare clic sul pulsante Modifica.

Il Modify Buttonappare la finestra di dialogo. Seleziona un simbolo per impostarlo come icona del pulsante.

Modificare il nome visualizzato che appare quando si posiziona il puntatore sull'immagine del pulsante sulla barra di accesso rapido con un nome significativo, ad esempio, Esegui MyMacro per questo esempio. Fare clic su OK.

Il nome della macro e il simbolo dell'icona cambiano nel riquadro di destra. Fare clic su OK.

Il pulsante della macro viene visualizzato sulla barra di accesso rapido e il nome visualizzato della macro viene visualizzato quando si posiziona il puntatore sul pulsante.

Per eseguire la macro, è sufficiente fare clic sul pulsante della macro sulla barra di accesso rapido.

Esecuzione di una macro nel gruppo personalizzato

È possibile aggiungere un gruppo personalizzato e un pulsante personalizzato sulla barra multifunzione e assegnare la macro al pulsante.

  • Fare clic con il tasto destro sulla barra multifunzione.
  • Seleziona Personalizza la barra multifunzione dall'elenco a discesa.

Il Excel Options appare la finestra di dialogo.

  • Seleziona Schede principali in Personalizza barra multifunzione.
  • Fare clic su Nuova scheda.

La nuova scheda (personalizzata) viene visualizzata nell'elenco delle schede principali.

  • Fare clic su Nuova scheda (personalizzata).
  • Fare clic sul pulsante Nuovo gruppo.

Il Nuovo gruppo (personalizzato) viene visualizzato in Nuova scheda (personalizzato).

  • Fare clic su Nuova scheda (personalizzata).
  • Fare clic sul pulsante Rinomina.

Viene visualizzata la finestra di dialogo Rinomina. Digita il nome per la tua scheda personalizzata che appare nelle Schede principali sulla barra multifunzione, ad esempio - Le mie macro e fai clic su OK.

Note- Tutte le schede principali della barra multifunzione sono in lettere maiuscole. Puoi usare la tua discrezione per usare lettere maiuscole o minuscole. Ho scelto le lettere minuscole con le maiuscole in modo che risaltino nelle schede standard.

Il nome della nuova scheda cambia in My Macros (Custom).

  • Fare clic su Nuovo gruppo (personalizzato).
  • Fare clic sul pulsante Rinomina.

Il Renameappare la finestra di dialogo. Digitare il nome del gruppo nella finestra di dialogo Nome visualizzato e fare clic su OK.

Il nuovo nome del gruppo cambia in Macro personali (personalizzate).

Fare clic su Macro nel riquadro di sinistra sotto Choose commands from.

  • Seleziona il nome della tua macro, ad esempio - MyFirstMacro dall'elenco delle macro.
  • Fare clic sul pulsante Aggiungi.

La macro verrà aggiunta nel gruppo Macro personali (personalizzate).

  • Fare clic su My Macros (Custom) nell'elenco.
  • Fare clic sulle frecce per spostare la scheda in alto o in basso.

La posizione della scheda nell'elenco delle schede principali determina dove verrà posizionata sulla barra multifunzione. Fare clic su OK.

La tua scheda personalizzata: le mie macro vengono visualizzate sulla barra multifunzione.

Fare clic sulla scheda - Le mie macro. Il gruppo Macro personali viene visualizzato sulla barra multifunzione. MyFirstMacro viene visualizzato nel gruppo Macro personali. Per eseguire la macro, basta fare clic su MyFirstMacro nel gruppo Macro personali.

Esecuzione di una macro facendo clic su un oggetto

È possibile inserire un oggetto come una forma, un'immagine o un controllo VBA nel foglio di lavoro e assegnargli una macro. Per eseguire la macro, è sufficiente fare clic sull'oggetto.

Per i dettagli sull'esecuzione di una macro utilizzando gli oggetti, fare riferimento al capitolo - Assegnazione di macro agli oggetti.

Esecuzione di una macro dalla scheda Sviluppatore

Puoi eseguire una macro dalla scheda Sviluppatore.

  • Fare clic sulla scheda Sviluppatore sulla barra multifunzione.
  • Fare clic su Macro.

Viene visualizzata la finestra di dialogo Macro. Fare clic sul nome della macro e quindi su Esegui.

Esecuzione di una macro dall'editor VBA

Puoi eseguire una macro dall'editor VBA come segue:

  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Puoi creare una macro scrivendo il codice nell'editor VBA. In questo capitolo imparerai dove e come scrivere il codice per una macro.

Oggetti e moduli VBA

Prima di iniziare a scrivere codice per una macro, comprendere gli oggetti e i moduli VBA.

  • Apri la cartella di lavoro abilitata per le macro con la tua prima macro.
  • Fare clic sulla scheda SVILUPPATORE sulla barra multifunzione.
  • Fare clic su Visual Basic nel gruppo Codice.

Si apre la finestra dell'editor VBA.

Si osserverà quanto segue nella finestra Esplora progetti:

  • La tua cartella di lavoro abilitata per la macro: MyFirstMacro.xlsm appare come un progetto VBA.

  • Tutti i fogli di lavoro e la cartella di lavoro vengono visualizzati come oggetti di Microsoft Excel nel progetto.

  • Module1 viene visualizzato in Modules. Il tuo codice macro si trova qui.

  • Fare clic su Module1.

  • Fare clic sulla scheda Visualizza sulla barra multifunzione.

  • Seleziona Codice dall'elenco a discesa.

Viene visualizzato il codice della macro.

Creazione di una macro mediante codifica

Quindi, crea una seconda macro nella stessa cartella di lavoro, questa volta scrivendo codice VBA.

Puoi farlo in due passaggi:

  • Inserisci un pulsante di comando.

  • Scrivi il codice che indica le azioni da eseguire quando fai clic sul pulsante di comando.

Inserimento di un pulsante di comando

  • Crea un nuovo foglio di lavoro.

  • Fare clic nel nuovo foglio di lavoro.

  • Fare clic sul pulsante SVILUPPATORE sulla barra multifunzione.

  • Fare clic su Inserisci nel gruppo Controlli.

  • Seleziona l'icona del pulsante da Form Controls.

  • Fare clic nel foglio di lavoro in cui si desidera posizionare il pulsante di comando.
  • Viene visualizzata la finestra di dialogo Assegna macro.

Viene visualizzato l'editor di Visual Basic.

Osserverai quanto segue:

  • Un nuovo modulo - Module2 viene inserito in Project Explorer.
  • Viene visualizzata la finestra del codice con il titolo Module2 (Code).
  • Una procedura secondaria Button1_Click () è inserita nel codice Module2.

Codifica della macro

La tua codifica viene eseguita a metà dall'editor VBA stesso.

Ad esempio, digita MsgBox “Best Wishes to You!”nella procedura secondaria Button1_Click (). Quando si fa clic sul pulsante di comando verrà visualizzata una finestra di messaggio con la stringa specificata.

Questo è tutto! Il tuo codice macro è pronto per essere eseguito. Come saprai, il codice VBA non richiede la compilazione poiché viene eseguito con un interprete.

Esecuzione della macro dall'editor VBA

Puoi testare il tuo codice macro dall'editor VBA stesso.

  • Fare clic sulla scheda Esegui sulla barra multifunzione.

  • Seleziona Esegui Sub / UserForm dall'elenco a discesa. La finestra di messaggio con la stringa digitata viene visualizzata nel foglio di lavoro.

Puoi vedere che il pulsante è selezionato. Fare clic su OK nella finestra del messaggio. Verrai riportato all'editor VBA.

Esecuzione della macro dal foglio di lavoro

Puoi eseguire la macro che hai codificato un numero qualsiasi di volte dal foglio di lavoro.

  • Fare clic da qualche parte sul foglio di lavoro.
  • Fare clic sul pulsante. La casella Messaggio viene visualizzata nel foglio di lavoro.

Hai creato una macro scrivendo codice VBA. Come puoi osservare, la codifica VBA è semplice.

Hai imparato a scrivere codice macro nell'editor VBA nel capitolo precedente. È possibile modificare il codice della macro, rinominare una macro ed eliminare una macro.

Se padroneggi Excel VBA, scrivere codice o modificare codice per una macro è un'operazione banale. Puoi modificare il codice della macro come preferisci. Se si desidera apportare solo poche semplici modifiche al codice della macro, è anche possibile copiare il codice della macro da un posto all'altro.

Copia di un codice macro

Sono state create due macro: MyFirstMacro e Button1_Click nella cartella di lavoro abilitata per la macro MyFirstMacro.xlsm. Hai creato la prima macro registrando i passaggi e la seconda macro scrivendo il codice. È possibile copiare il codice dalla prima macro nella seconda macro.

  • Apri la cartella di lavoro MyFirstMacro.xlsm.

  • Fare clic sulla scheda Sviluppatore sulla barra multifunzione.

  • Fare clic su Visual Basic. Si apre l'editor di Visual Basic.

  • Aprire il codice per Module1 (codice macro MyFirstMacro) e Module2 (codice macro Button1_Click ()).

  • Fare clic sulla scheda Finestra sulla barra multifunzione.

  • Seleziona Affianca orizzontalmente dall'elenco a discesa.

È possibile visualizzare il codice delle due macro nelle finestre piastrellate.

  • Copia la riga MsgBox nel codice Module2.

  • Incollalo sopra quella linea.

  • Modifica la stringa come -

    MsgBox "Hello World!"

  • Copia il codice seguente da Module1.

Incollalo nel codice Module2 tra le due righe di codice MsgBox.

  • Fare clic sull'icona Salva per salvare il codice.

  • Fare clic sul pulsante nel foglio Excel. Viene visualizzata una finestra di messaggio con il messaggio - Hello World! Fare clic su OK.

Vengono visualizzati i dati della tabella (in base al codice copiato) e viene visualizzata la finestra di messaggio con il messaggio - I migliori auguri a te!

Puoi modificare il codice in pochi passaggi. Questo è il compito più semplice per un principiante.

Rinominare una macro

Supponi di voler eseguire la macro modificata da qualsiasi foglio di lavoro diverso da quello che ha il pulsante di comando. Puoi farlo indipendentemente dal clic del pulsante rinominando la macro.

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

  • Fare clic sul nome della macro - Button1_Click.
  • Fare clic sul pulsante Modifica.

Il codice della macro viene visualizzato nell'editor VBA.

Modificare il nome che appare nella riga secondaria da Button1_Click a RenamedMacro. Lascia Sub e parentesi così come sono.

Apri la finestra di dialogo Macro. Il nome della macro viene visualizzato come è stato rinominato.

  • Fare clic su RenamedMacro.
  • Fare clic sul pulsante Esegui. La macro viene eseguita. Ora non è necessario fare clic sul pulsante.

Eliminazione di una macro

Puoi eliminare una macro che hai registrato o codificato.

  • Apri la finestra di dialogo Macro.
  • Fare clic sul nome della macro.
  • Fare clic sul pulsante Elimina.

Il Delete viene visualizzato un messaggio di conferma.

Clic Yesse sei sicuro di eliminare la macro. In caso contrario, fare clic su No.

A volte, potresti dover raccogliere informazioni ripetutamente da altri. Excel VBA fornisce un modo semplice per gestire questa attività-UserForm. Come qualsiasi altro modulo che riempi, UserForm rende semplice capire quali informazioni devono essere fornite. UserForm è facile da usare in quanto i controlli forniti sono autoesplicativi, accompagnati da istruzioni aggiuntive ove necessario.

Il principale vantaggio di UserForm è che puoi risparmiare tempo speso su cosa e come inserire le informazioni.

Creazione di un form utente

Per creare un form utente, procedere come segue:

  • Fare clic sulla scheda SVILUPPATORE sulla barra multifunzione.
  • Fare clic su Visual Basic. Si apre una finestra di Visual Basic per la cartella di lavoro.
  • Fare clic su Inserisci,
  • Seleziona UserForm dall'elenco a discesa.

UserForm viene visualizzato sul lato destro della finestra.

Capire UserForm

Ingrandire la finestra UserForm.xlsx - UserForm1.

Ora sei in modalità progettazione. È possibile inserire controlli in UserForm e scrivere codice per le rispettive azioni. I controlli sono disponibili nella casella degli strumenti. Le proprietà di UserForm si trovano nella finestra Proprietà. UserForm1 (didascalia di UserForm) viene fornito in Moduli in Esplora progetti.

  • Modificare la didascalia di UserForm in Project Report - Daily nella finestra delle proprietà.
  • Modificare il nome di UserForm in ProjectReport.

Le modifiche si riflettono in UserForm, proprietà e Project Explorer.

Controlli nella casella degli strumenti

Un form utente avrà diversi componenti. Ogni volta che fai clic su uno qualsiasi dei componenti, ti verranno fornite le istruzioni su cosa e come devono essere fornite le informazioni oppure ti verranno fornite le opzioni (scelte) tra cui scegliere. Tutto ciò viene fornito tramite controlli ActiveX nel ToolBox di UserForm.

Excel fornisce due tipi di controlli: controlli modulo e controlli ActiveX. È necessario comprendere la differenza tra questi due tipi di controlli.

Controlli del modulo

I controlli del modulo sono i controlli originali di Excel compatibili con le versioni precedenti di Excel, a partire da Excel versione 5.0. I controlli del modulo sono progettati anche per l'uso su fogli macro XLM.

È possibile eseguire macro utilizzando i controlli del modulo. È possibile assegnare una macro esistente a un controllo oppure scrivere o registrare una nuova macro. Quando si fa clic sul controllo, la macro. Hai già imparato come inserire un pulsante di comando dai controlli Modulo nel foglio di lavoro per eseguire una macro. Tuttavia, questi controlli non possono essere aggiunti a un UserForm.

Controlli ActiveX

I controlli ActiveX possono essere utilizzati su UserForms VBA. I controlli ActiveX hanno proprietà estese che puoi utilizzare per personalizzarne l'aspetto, il comportamento, i caratteri e altre caratteristiche.

Hai i seguenti controlli ActiveX in UserForm ToolBox:

  • Pointer
  • Label
  • TextBox
  • ComboBox
  • ListBox
  • CheckBox
  • OptionButton
  • Frame
  • ToggleButton
  • CommandButton
  • TabStrip
  • MultiPage
  • ScrollBar
  • SpinButton
  • Image

Oltre a questi controlli, Visual Basic fornisce la funzione MsgBox che può essere utilizzata per visualizzare messaggi e / o richiedere un'azione all'utente.

Nelle prossime sezioni, capirai questi controlli e MsgBox. Quindi, sarai in grado di scegliere quali di questi controlli sono necessari per progettare il tuo Form utente.

Etichetta

È possibile utilizzare le etichette a scopo di identificazione visualizzando testo descrittivo, come titoli, didascalie e / o brevi istruzioni.

Example

Casella di testo

È possibile utilizzare una casella di testo che è una casella rettangolare per digitare, visualizzare o modificare il testo. È inoltre possibile utilizzare un TextBox come campo di testo statico che presenta informazioni di sola lettura.

Example

Casella di riepilogo

È possibile utilizzare una casella di riepilogo per visualizzare un elenco di uno o più elementi di testo da cui un utente può scegliere. Utilizzare una casella di riepilogo per visualizzare un numero elevato di scelte che variano in numero o contenuto.

  • Inserisci un ListBox in UserForm.
  • Fare clic su ListBox.
  • Digitare ProjectCodes per Name nella finestra Proprietà del ListBox.

Esistono tre tipi di caselle di riepilogo:

  • Single-selection List box- Una casella di riepilogo a selezione singola consente una sola scelta. In questo caso, una casella di riepilogo è simile a un gruppo di pulsanti di opzione, ad eccezione del fatto che una casella di riepilogo può gestire un numero elevato di elementi in modo più efficiente.

  • Multiple selection List Box - Una casella di riepilogo a selezione multipla consente una scelta o scelte contigue (adiacenti).

  • Extended-selection List Box - Una casella di riepilogo a selezione estesa consente una scelta, scelte contigue e scelte non contigue (o disgiunte).

È possibile selezionare uno di questi tipi di caselle di riepilogo dalla finestra Proprietà.

  • Fare clic con il tasto destro su UserForm.
  • Seleziona Visualizza codice dall'elenco a discesa. Si apre la finestra del codice di UserForm.
  • Fare clic su Inizializza nella casella in alto a destra della finestra del codice.
  • Digitare quanto segue in Private Sub UserForm_Initialize ().
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Successivamente, puoi scrivere il codice per le azioni sulla selezione di un elemento nell'elenco. Altrimenti, puoi semplicemente visualizzare il testo selezionato, che è il caso per riempire il codice del progetto nel report.

Combo box

Puoi usare ComboBoxche combina una casella di testo con una casella di riepilogo per creare una casella di riepilogo a discesa. Una casella combinata è più compatta di una casella di riepilogo ma richiede all'utente di fare clic sulla freccia in giù per visualizzare l'elenco di elementi. Utilizza una casella combinata per scegliere un solo elemento dall'elenco.

  • Inserisci un ComboBox in UserForm.
  • Fare clic sulla casella combinata.
  • Digitare ProjectCodes2 per Nome nella finestra Proprietà del ComboBox.
  • Fare clic con il tasto destro su UserForm.
  • Seleziona Visualizza codice dall'elenco a discesa.
  • Si apre la finestra del codice di UserForm.

Digitare quanto segue come mostrato di seguito.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Fare clic sulla freccia in basso per visualizzare l'elenco degli elementi.

Fare clic sull'elemento richiesto, ad esempio Project2016-5. L'opzione selezionata verrà visualizzata nella casella combinata.

CheckBox

È possibile utilizzare le caselle di controllo per selezionare una o più opzioni visualizzate facendo clic nelle caselle. Le opzioni avranno etichette e puoi visualizzare chiaramente quali opzioni sono selezionate.

Una casella di controllo può avere due stati:

  • Selezionato (attivato), indicato da un segno di spunta nella casella
  • Cancellato (spento), indicato da una casella trasparente

È possibile utilizzare le caselle di controllo per la selezione di opzioni in una casella combinata per risparmiare spazio. In tal caso, la casella di controllo può avere anche un terzo stato:

  • Mixed, ovvero una combinazione di stati on e off, indicati da un punto nero nella casella. Verrà visualizzato per indicare più selezioni nella casella combinata con caselle di controllo.

  • Inserire le caselle di controllo in UserForm come mostrato di seguito.

  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Fare clic nelle caselle per le opzioni selezionate.

OptionButton

È possibile utilizzare un pulsante di opzione, noto anche come pulsante di opzione, per effettuare un'unica scelta all'interno di un insieme limitato di scelte che si escludono a vicenda. Un pulsante di opzione è solitamente contenuto in una casella di gruppo o in una cornice.

Un pulsante di opzione è rappresentato da un piccolo cerchio. Un pulsante di opzione può avere uno dei due stati seguenti:

  • Selezionato (attivato), indicato da un punto nel cerchio
  • Cancellato (disattivato), indicato da uno spazio vuoto

Telaio

È possibile utilizzare un controllo frame, noto anche come casella di gruppo per raggruppare i controlli correlati in un'unità visiva. In genere, i pulsanti di opzione, le caselle di controllo o il contenuto strettamente correlato sono raggruppati in un controllo frame.

Un controllo frame è rappresentato da un oggetto rettangolare con un'etichetta opzionale.

  • Inserisci una cornice con didascalia "Scelta".

  • Inserire due pulsanti di opzione con didascalie "Sì" e "No" nel controllo del frame. Le opzioni Sì e No si escludono a vicenda.

  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Fare clic sull'opzione selezionata.

Interruttore

È possibile utilizzare un pulsante di attivazione / disattivazione per indicare uno stato, ad esempio Sì o No, o una modalità, ad esempio On o Off. Il pulsante alterna tra uno stato abilitato e uno disabilitato quando viene cliccato.

Inserisci un pulsante di attivazione / disattivazione su UserForm come mostrato di seguito -

  • Fare clic sulla scheda Esegui sulla barra multifunzione.

  • Seleziona Esegui Sub / UserForm dall'elenco a discesa. Il pulsante di attivazione / disattivazione sarà nello stato abilitato per impostazione predefinita.

Fare clic sul pulsante di attivazione / disattivazione. Il pulsante di attivazione / disattivazione verrà disattivato.

Se fai di nuovo clic sul pulsante di attivazione / disattivazione, verrà abilitato.

Pulsante di comando

È possibile utilizzare un pulsante di comando per eseguire una macro che esegue alcune azioni quando l'utente fa clic su di essa. Hai già imparato come utilizzare un pulsante di comando su un foglio di lavoro per eseguire una macro.

Il pulsante di comando viene anche definito pulsante. Inserisci un pulsante di comando su UserForm come mostrato di seguito -

  • Fare clic con il pulsante destro del mouse sul pulsante di comando.
  • Digitare il codice seguente nel sub Commandbutton1_click ().
ProjectCodes2.DropDown
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Fare clic sul pulsante di comando. Si apre l'elenco a discesa della casella combinata, poiché è l'azione che hai scritto nel codice.

TabStrip

È possibile inserire una tabstrip che assomiglia alle schede di Excel in UserForm.

Barra di scorrimento

È possibile utilizzare una barra di scorrimento per scorrere un intervallo di valori facendo clic sulle frecce di scorrimento o trascinando la casella di scorrimento.

Inserire una barra di scorrimento in UserForm disegnandola nella posizione richiesta e regolare la lunghezza della barra di scorrimento.

  • Fare clic con il tasto destro sulla barra di scorrimento.
  • Seleziona Visualizza codice dall'elenco a discesa. Si apre la finestra Codice.
  • Aggiungi la seguente riga sotto ScrollBar1_Scroll ().
TextBox2.Text = "Scrolling Values"
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.

Trascina la casella di scorrimento. Il Testo - Valori di scorrimento verrà visualizzato nella casella di testo come è stato specificato come azione per lo scorrimento della barra di scorrimento.

MsgBox ()

È possibile utilizzare la funzione MsgBox () per visualizzare un messaggio quando si fa clic su qualcosa. Può essere una linea guida o alcune informazioni o un avviso o un avviso di errore.

Ad esempio, è possibile visualizzare un messaggio indicante lo scorrimento dei valori quando si inizia a scorrere la casella di scorrimento.

Viene visualizzata l'icona della casella dei messaggi

È possibile utilizzare i display delle icone delle finestre di messaggio che ritraggono il messaggio specifico. Hai le icone multiple della finestra di messaggio per soddisfare il tuo scopo -

  • Digita il codice seguente in ScrollBar1_scroll.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result"
  • Fare clic sulla scheda Esegui sulla barra multifunzione.
  • Seleziona Esegui Sub / UserForm dall'elenco a discesa.
  • Trascina la casella di scorrimento.

Riceverai le seguenti finestre di messaggio in successione.

Progettazione di UserForm

Ora, hai una comprensione dei diversi controlli che puoi usare su un form utente. Selezionare i controlli, raggrupparli se necessario e disporli su UserForm secondo una sequenza significativa. Scrivi le azioni richieste come codice corrispondente ai rispettivi controlli.

Fare riferimento al tutorial VBA in questa libreria tutorial per un esempio di UserForm.

Hai appreso che la macro è archiviata come codice VBA in Excel. Hai anche imparato che puoi scrivere direttamente codice per creare una macro nell'editor VBA. Tuttavia, come nel caso di qualsiasi codice, anche il codice della macro può presentare difetti e la macro potrebbe non essere eseguita come previsto.

Ciò richiede l'esame del codice per trovare i difetti e correggerli. Il termine utilizzato per questa attività nello sviluppo del software è il debug.

Debug VBA

L'editor VBA consente di sospendere l'esecuzione del codice ed eseguire qualsiasi attività di debug richiesta. Di seguito sono riportate alcune delle attività di debug che puoi eseguire.

  • Passaggio attraverso il codice
  • Utilizzo dei punti di interruzione
  • Backup o avanzamento nel codice
  • Non superare ogni riga di codice
  • Interrogare qualsiasi cosa durante la lettura del codice
  • Interruzione dell'esecuzione

Queste sono solo alcune delle attività che potresti eseguire nell'ambiente di debug di VBA.

Passaggio attraverso il codice

La prima cosa che devi fare per il debug è scorrere il codice durante l'esecuzione. Se hai un'idea di quale parte del codice sta probabilmente producendo il difetto, puoi saltare a quella riga del codice. Altrimenti, puoi eseguire il codice riga per riga, eseguire il backup o spostarti in avanti nel codice.

È possibile accedere al codice dalla finestra di dialogo Macro nella cartella di lavoro o dall'editor VBA stesso.

Stepping into the code from the workbook

Per accedere al codice dalla cartella di lavoro, eseguire le operazioni seguenti:

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Seleziona Visualizza macro dall'elenco a discesa.

Viene visualizzata la finestra di dialogo Macro.

  • Fare clic sul nome della macro.
  • Fare clic sul pulsante Entra.

L'editor VBA si apre e il codice della macro viene visualizzato nella finestra del codice. La prima riga del codice della macro verrà evidenziata in giallo.

Stepping into the code from the VBA editor

Per accedere al codice dall'editor VBA, procedi come segue:

  • Fare clic sulla scheda SVILUPPATORE sulla barra multifunzione.
  • Fare clic su Visual Basic. Si apre l'editor VBA.
  • Fare clic sul modulo che contiene il codice macro.

Il codice della macro viene visualizzato nella finestra del codice.

  • Fare clic sulla scheda Debug sulla barra multifunzione.

  • Selezionare Step into dall'elenco a discesa.

La prima riga nel codice della macro verrà evidenziata. Il codice è in modalità di debug e le opzioni nell'elenco a discesa Debug diventeranno attive.

Backup o avanzamento nel codice

È possibile spostarsi avanti o indietro nel codice selezionando Step Over o Step Out.

Non superare ogni riga di codice

È possibile evitare di passare attraverso ogni codice di riga, se si identifica una parte potenziale del codice che deve essere discussa, selezionando Run to Cursor.

Utilizzo dei punti di interruzione

In alternativa, è possibile impostare punti di interruzione in specifiche righe di codice ed eseguire il codice, osservando i risultati in ogni punto di interruzione. È possibile attivare o disattivare un punto di interruzione e cancellare tutti i punti di interruzione se e quando necessario.

Utilizzando Watch

È possibile aggiungere un orologio durante il debug, per valutare un'espressione e interrompere l'esecuzione quando una variabile raggiunge un valore specifico. Ciò significa che si configura un'espressione di controllo, che verrà monitorata fino a quando non è vera e quindi la macro si fermerà e ti lascerà in modalità di interruzione. VBA ti offre diversi tipi di orologi tra cui scegliere, al fine di realizzare ciò che stai cercando.

Interruzione dell'esecuzione

Durante il debug, in qualsiasi momento, se hai trovato un indizio su cosa sta andando storto, puoi interrompere l'esecuzione per decifrare ulteriormente.

Se sei uno sviluppatore esperto, la terminologia di debug ti è familiare e le opzioni di debug dell'editor VBA ti semplificano la vita. Anche altrimenti, non ci vorrà molto tempo per padroneggiare questa abilità se hai imparato VBA e compreso il codice.

È possibile registrare una macro e salvarla con il nome Auto_Open per eseguirla ogni volta che si apre la cartella di lavoro che contiene questa macro.

Puoi anche scrivere codice VBA per lo stesso scopo con l'evento Open della cartella di lavoro. L'evento Open esegue il codice nella procedura secondaria Workbook_Open () ogni volta che si apre la cartella di lavoro.

Registrazione di una macro Auto_Open

È possibile registrare una macro Auto_Run come segue:

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Fare clic su Registra macro. Viene visualizzata la finestra di dialogo Registra macro.
  • Digitare Auto_Run per il nome della macro.
  • Digita una descrizione e fai clic su OK.
  • Inizia a registrare la macro.
  • Interrompi la registrazione.
  • Salva la cartella di lavoro come cartella di lavoro abilitata per le macro.
  • Chiudi la cartella di lavoro.
  • Apri la cartella di lavoro. La macro Auto_Run verrà eseguita automaticamente.

Se desideri che Excel si avvii senza eseguire una macro Auto_Open, tieni premuto il tasto MAIUSC quando avvii Excel.

Limitazioni di Auto_Open Macro

Di seguito sono riportati i limiti della macro Auto_Open:

  • Se la cartella di lavoro in cui è stata salvata la macro Auto_apri contiene il codice per l'evento Apri della cartella di lavoro, il codice per l'evento Open sovrascriverà le azioni nella macro Auto_apri.

  • Una macro Auto_Open viene ignorata quando la cartella di lavoro viene aperta eseguendo codice che utilizza il metodo Open.

  • Una macro Auto_Open viene eseguita prima dell'apertura di qualsiasi altra cartella di lavoro. Pertanto, se si registrano le azioni che si desidera che Excel esegua sulla cartella di lavoro predefinita Book1 o su una cartella di lavoro caricata dalla cartella XLStart, la macro Auto_Open avrà esito negativo quando si riavvia Excel, perché la macro viene eseguita prima dell'apertura delle cartelle di lavoro predefinite e di avvio .

Se si verifica una di queste limitazioni, invece di registrare una macro Auto_Open, è necessario scrivere un codice per l'evento Open come descritto nella sezione successiva.

Codice VBA per evento aperto di una cartella di lavoro

Puoi scrivere codice che verrà eseguito quando apri una cartella di lavoro. VBA fornisce un evento chiamato open che incorpora una procedura VBA per le azioni da eseguire all'apertura di una cartella di lavoro.

Apri la cartella di lavoro in cui hai memorizzato la macro che hai scritto per i riferimenti assoluti - Report_ProjectXYZ. Quando questa macro viene eseguita, un nuovo foglio di lavoro verrà aggiunto alla cartella di lavoro e la struttura del report del progetto verrà visualizzata nel nuovo foglio di lavoro.

È possibile scrivere un codice macro che eseguirà queste azioni quando si apre la cartella di lavoro. Ciò significa che quando apri la cartella di lavoro del rapporto di progetto, un nuovo foglio di lavoro con la struttura del rapporto sarà pronto per l'inserimento dei dettagli.

Seguire la procedura indicata di seguito nell'editor VBA -

  • Fare doppio clic su ThisWorkbook in Esplora progetti.

  • Nella finestra del codice selezionare Cartella di lavoro nell'elenco a discesa a sinistra e Apri nell'elenco a discesa a destra. Viene visualizzato Sub Workbook_Open ().

  • Fare clic su Moduli in Esplora progetti.

  • Fare doppio clic sul nome del modulo che contiene il codice della macro.

  • Copia il codice della macro dal modulo e incollalo nel Sub WorkBook_Open ().

Salva la cartella di lavoro abilitata per le macro. Aprilo di nuovo. La macro viene eseguita e viene inserito un nuovo foglio di lavoro con la struttura del report.