Sommario:
Video: EXCEL - Tutorial 16: Macro esempi 2024
A volte potresti volere o dover creare una cartella di lavoro Excel in modo automatico. Ad esempio, potrebbe essere necessario copiare i dati da una tabella e incollarli in una cartella di lavoro appena creata. La seguente macro copia un intervallo di celle dal foglio attivo e incolla i dati in una nuova cartella di lavoro.
Come funziona la macro
Come vedrai quando leggi le righe del codice, questa macro è relativamente intuitiva:
Sub Macro1 () 'Passaggio 1 Copiare i fogli dati ("Esempio 1"). Intervallo ("B4: C15"). Copia 'Passaggio 2 Creare un nuovo libro di esercizi. Aggiungi 'Passaggio 3 Incollare i dati ActiveSheet. Destinazione incolla: = Intervallo ("A1") "Passaggio 4 Disattiva l'applicazione Avvisi applicazione. DisplayAlerts = False 'Passaggio 5 Salvare la cartella di lavoro appena creata ActiveWorkbook. SaveAs _ Nome file: = "C: TempMyNewBook. Xlsx" "Passaggio 6 Riattivare gli avvisi dell'applicazione su Applicazione. DisplayAlerts = True End Sub
Nel passaggio 1, è sufficiente copiare i dati che vanno dalle celle da B4 a C15. Si noti che si specifica sia il foglio che l'intervallo in base al nome. Questo approccio è una best practice quando si lavora con più cartelle di lavoro aperte.
Nel passaggio 2, si utilizza il metodo Add dell'oggetto Workbook per creare una cartella di lavoro. La cartella di lavoro vuota equivale a scegliere manualmente File → Nuovo → Documento vuoto nella barra multifunzione di Excel.
Nel passaggio 3, si utilizza il metodo Incolla per inviare i dati copiati alla cella A1 della nuova cartella di lavoro.
Prestare attenzione al fatto che il codice fa riferimento all'oggetto ActiveSheet. Quando aggiungi una cartella di lavoro, la nuova cartella di lavoro ottiene immediatamente l'attenzione, diventando la cartella di lavoro attiva. (Excel fa lo stesso quando aggiungi una cartella di lavoro manualmente.)
Nel passaggio 4 del codice, si imposta il metodo DisplayAlerts su False, disattivando in modo efficace gli avvisi di Excel. Lo fai perché nel passaggio successivo del codice, salvi la cartella di lavoro appena creata. È possibile eseguire questa macro più volte, nel qual caso Excel tenta di salvare il file più volte.
Cosa succede quando provi a salvare una cartella di lavoro più volte? Esatto - Excel ti avverte che esiste già un file con quel nome e poi ti chiede se vuoi sovrascrivere il file esistente in precedenza. Poiché il tuo obiettivo è automatizzare la creazione della cartella di lavoro, devi sopprimere tale avviso.
Nel passaggio 5, si salva il file utilizzando il metodo SaveAs. Si noti che si immette il percorso completo del percorso di salvataggio, incluso il nome file finale.
Dal momento che hai disattivato le modifiche delle applicazioni nel Passaggio 4, devi riattivarle (vedere il Passaggio 6). In caso contrario, Excel continua a eliminare tutti gli avvisi durante la sessione corrente.
Come utilizzare la macro
Per implementare questa macro, è possibile copiarla e incollarla in un modulo standard:
-
Attiva Visual Basic Editor premendo Alt + F11.
-
Fare clic con il pulsante destro del mouse sul nome del progetto / cartella di lavoro nella finestra del progetto.
-
Scegli Inserisci → Modulo.
-
Digita o incolla il codice nel modulo appena creato.
Probabilmente dovrai cambiare il nome del foglio, l'indirizzo dell'intervallo e la posizione di salvataggio.