excel-vba
Come registrare una macro
Ricerca…
Come registrare una macro
Il modo più semplice per registrare una macro è che il pulsante nell'angolo in basso a sinistra di Excel assomiglia a questo:
Quando fai clic su questo si aprirà un popup che ti chiede di dare un nome alla Macro e decidere se vuoi avere un tasto di scelta rapida. Inoltre, chiede dove memorizzare la macro e per una descrizione. Puoi scegliere qualsiasi nome tu voglia, nessuno spazio è permesso.
Se vuoi avere una scorciatoia assegnata alla tua macro per un uso rapido, scegli una lettera che ricorderai in modo da poter usare la macro più e più volte.
È possibile memorizzare la macro in "Questa cartella di lavoro", "Nuova cartella di lavoro" o "Cartella macro personale". Se vuoi che la macro che stai per registrare sia disponibile solo nella cartella di lavoro corrente, scegli "Questa cartella di lavoro". Se vuoi salvarlo in una nuova cartella di lavoro, scegli "Nuova cartella di lavoro". E se vuoi che la macro sia disponibile per qualsiasi cartella di lavoro che apri, scegli "Cartella macro personale".
Dopo aver compilato questo pop-up, fai clic su "Ok".
Quindi esegui tutte le azioni che desideri ripetere con la macro. Al termine, fai clic sullo stesso pulsante per interrompere la registrazione. Ora sembra così:
Ora puoi andare alla scheda Sviluppatore e aprire Visual Basic. (o usa Alt + F11)
Ora avrai un nuovo modulo sotto la cartella Modules.
Il modulo più recente conterrà la macro che hai appena registrato. Fare doppio clic su di esso per richiamarlo.
Ho fatto un semplice copia e incolla:
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A12").Select
ActiveSheet.Paste
End Sub
Se non vuoi che venga sempre incollato in "A12", puoi utilizzare i Riferimenti relativi selezionando la casella "Usa riferimenti relativi" nella scheda Sviluppatore:
Seguendo gli stessi passaggi di prima ora trasformeremo la Macro in questo:
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.Copy
ActiveCell.Offset(11, 0).Range("A1").Select
ActiveSheet.Paste
End Sub
Continuo a copiare il valore da "A1" in una cella di 11 righe, ma ora è possibile eseguire la stessa macro con qualsiasi cella iniziale e il valore da quella cella verrà copiato nella cella 11 righe in basso.