Copiare un modulo macro in un'altra cartella di lavoro

Si applica a
Excel per Microsoft 365 Excel per Microsoft 365 per Mac Excel 2024 Excel 2024 per Mac Excel 2021 Excel 2021 per Mac

Se una cartella di lavoro contiene una macro Visual Basic, Applications Edition (VBA) che si vuole usare in un altro dispositivo, è possibile copiare il modulo che contiene la macro in un'altra cartella di lavoro aperta usando Visual Basic Editor (VBE).

Nota

In Excel 2021 e versioni successive, le macro sono disabilitate per impostazione predefinita per motivi di sicurezza. Può essere necessario modificare le impostazioni di sicurezza delle macro in Excel Modificare le impostazioni di sicurezza delle macro in Excel prima di poterle eseguire.

Le macro e gli strumenti VBA sono disponibili nella scheda Sviluppo . Questa scheda è nascosta per impostazione predefinita, quindi il primo passaggio consiste nell'abilitarla.

  • In Windows, passare aOpzioni>file>e personalizza barra multifunzione.
  • Per Mac, andare a Preferenze di Excel>...>Barra multifunzione & barra degli strumenti.
  • Quindi, nella sezione Personalizza barra multifunzione , in Schede principali, selezionare la casella di controllo Sviluppo .

Panoramica di macro e VBA

Se non si ha familiarità con le macro e VBA, le informazioni seguenti possono essere utili per iniziare.

  • Una macro è un'azione o un insieme di azioni che è possibile usare per automatizzare le attività.

  • Utilizzare il comando Registra macro nella scheda Sviluppo per registrare le macro.

  • Le macro vengono registrate nel linguaggio di programmazione VBA.

  • È possibile esaminare e modificare le macro nel Visual Basic Editor, una finestra aperta da Excel. Ecco un esempio della finestra VBE per Windows:

    Un modulo che contiene due macro memorizzate nel Modulo1 di Book1.

Le macro denominate MakeCellGreen e SetRowHeight si trovano in un modulo denominato Module1, archiviato in Book1.

Per mantenere le macro durante il salvataggio della cartella di lavoro, usare un formato di file abilitato per le macro, ad esempio .xlsm o .xlsb. Standard .xlsx file non salvano le macro.

Copiare un modulo da una cartella di lavoro a un'altra

  1. Aprire sia la cartella di lavoro contenente la macro che si desidera copiare sia la cartella di lavoro di destinazione (con le macro abilitate).

  2. Nella scheda Sviluppo selezionare Visual Basic per aprire Visual Basic Editor.

  3. Nel menu Visualizza dell'editor di Visual Basic selezionare Esplora progettiImmagine del pulsante Esplora progetti. oppure premere CTRL+R.

  4. Nel riquadro Esplora progetti trascinare nella cartella di lavoro di destinazione il modulo contenente la macro che si desidera copiare. In questo caso, stai copiando Module1 da Book2.xlsm a Book1.xlsm.
    Riquadro Esplora progetti VBA che mostra gli alberi del progetto per VBAProject Book1.xlsm e VBAProject Book2.xlsm. Il numero 1 contrassegna il modulo1 nella cartella Moduli di Book2.xlsm e il numero 2 contrassegna la cartella Moduli in Book1.xlsm, indicando dove trascinare il modulo per copiarlo.

  1. Module1 copiato da Book2.xlsm
  2. Copia di Module1 copiata in Book1.xlsm

Nota

  • Se le macro sono disabilitate, il modulo copiato viene visualizzato nella cartella di lavoro di destinazione, ma non viene eseguito finché non vengono abilitate le macro.
  • Negli ambienti gestiti, i criteri IT potrebbero impedire l'esecuzione di macro o funzionalità VBA.
  • Potrebbero verificarsi autorizzazioni, impostazioni di sicurezza o contenuto di macro bloccato che impediscono la copia di moduli tra cartelle di lavoro.

Servono altre informazioni?

È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.