Macro (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 6:
Il concetto originario di macro non prevede l'uso di un [[linguaggio di programmazione]], trattandosi di una semplice registrazione di una serie di comandi già disponibile all'interno del [[software]]. Evolvendosi nella forma attuale, le macro hanno acquisito un linguaggio di programmazione (es. [[Visual Basic|VBA]]), con tanto di [[Selezione (informatica)|strutture condizionali]] (If... Then... Else...), [[subroutine]], dialogo con l'utilizzatore attraverso finestre per l'introduzione di dati, raggiungendo un'efficienza molto maggiore, ma anche maggiore complessità nella loro stesura.
In un [[foglio di calcolo]], alcune operazioni tipiche di una macro sono inserimento/eliminazione di righe/colonne, formattazione del testo/numero e colore, copia-incolla di valori, esecuzione di funzioni come le somme, impostazioni di stampa e salvataggio del ''[[file]]''.
== Livelli di esecuzione ==
Riga 22:
Per selezionare l'ultima cella attiva sopra, sotto, a destra o sinistra di quella corrente, si utilizzano le proprietà del metodo "End": "xlUp", "xldown", "xlToRight", "xlToLeft". Per selezionare le celle di un intervallo di dimensione variabile si utilizzano questi riferimenti con istruzioni del tipo:
:<pre>Range(Selection, Selection.End(xlDown)).Select</pre>
Questa istruzione indica gli estremi dell'intervallo da selezionare, da una parte la cella selezionata dal cursore e dall'altra l'ultima cella attiva (con valori o formule) fra quelle al di sotto della selezione corrente. </br>
Riga 29:
Se l'area da selezionare dipende da altri intervalli di celle, si utilizza una variante del tipo:
:<pre>Range(Selection, Range("A1:B65536").End(xlDown)).Select</pre>
== Anonimizzazione delle macro ==
La macro può essere resa indipendente dal nome del file e dei fogli di lavoro, sostituendo a questi istruzioni del tipo: ''ActiveSheet.Select"'' o ''"ActiveSheet.Add"''. Diversamente, se la macro è eseguita su un foglio di lavoro o file con nome diverso da quello registrato nel codice, l'esecuzione restituisce un messaggio di errore.
Riga 60 ⟶ 59:
</pre>
oppure
<pre>
Sub Esecuzione_Macro_File_Excel()
ActiveWorkbook.Application.Run "PERSONAL.XLS!Macro 1" 'Esegue la Macro per tutti i fogli del file corrente
End Sub
</pre>
Riga 70 ⟶ 69:
:<pre>
Sub Macro()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
</pre
Il codice viene concluso con le istruzioni:
:<pre>
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
</pre>
== Estensione della macro a file diversi da quello di registrazione ==
|