Cosa è una Macro.

La MACRO è un' istruzione scritta in linguaggio Visual Basic che Excel usa per compiere determinate azioni descritte nell'istruzione stessa. L'insieme delle istruzioni si definisce CODICE. Il Codice è compilabile, cioè possiamo scriverlo, aggiungerlo, modificarlo come si farebbe con qualunque testo, solo che è necessario usare una forma di scrittura che Excel sia in grado di comprendere : il suo linguaggio, il Visual basic for Application. Excel stesso è in grado di compilare una Macro, cioè del codice : basta usare il "Registratore di Macro". (vedi sezione "Cosa è il VBA"). Quello che segue è un piccolo esempio di codice( o macro. Da notare: ogni macro ha bisogno di un nome che la identifichi. NON si può usare lo stesso nome 2 volte):

Macro di esempio (o codice)

Significato delle istruzioni

Sub Prova()

Range("A3").ClearContents

Range("A3").Formula = "=10*RAND()"

End Sub

Nome della macro(Prova) (e inizio istruzioni)

Pulisci la cella A3 dal contenuto

Nella cella A3 genera un numero casuale

Fine istruzioni (esce dalla macro)

La stessa istruzione poteva essere svolta da una funzione : =CASUALE() da scriversi nella cella A3. Es.: =CASUALE()*10 (avrebbe generato un numero casuale compreso tra 0 e 9), però:

Considerazioni

Excel possiede quindi DUE possibilità di eseguire istruzioni:

  1. la prima, e più immediata, è l'immissione di comandi attraverso le FORMULE o le FUNZIONI, che devono essere inserite sul foglio di lavoro, scritte nelle celle interessate, e che quindi possiamo definire "RESIDENTI", agiscono cioè sempre e comunque (errori a parte). NON possono essere attivate su comando, e molto spesso, ci costringono ad usare altre celle per scambi di istruzioni e non basta, pena il famoso messaggio "Impossibile calcolare la formula, riferimento circolare", o si verificano solo ad apertura Foglio.

  2. la seconda, è la creazione di codice che esegua, su COMANDO, un'istruzione di qualunque genere, compreso ovviamente formule o funzioni, ma attivabili  nel momento in cui eseguiamo il comando. In questo caso avremo un'istruzione NON RESIDENTE, che ci consente una migliore gestibilità del nostro lavoro, e la ripetitività agendo di nuovo sul comando. Resta inoltre la versatilità di un linguaggio (codice) capace di impostare istruzioni che con le formule o le funzioni non è possibile eseguire (per esempio i cicli For ...Next, o altre amenità del genere).

Il consiglio che vivamente suggerisco, è quello, per colui che voglia avventurarsi nel mondo del "CODICE", di munirsi di libri specifici sull'argomento, oltre a quello di dare sempre un "occhiata"  alla guida in linea, raggiungibile dalla pagina dell'editor di visual basic, premendo il tasto F1. (la guida appare diversa se si preme F1 in visualizzazione Foglio di lavoro)