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: Inizia a registrare Marco Button

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.

Pop up per registrare macro

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ì:

Interrompi registrazione macro

Ora puoi andare alla scheda Sviluppatore e aprire Visual Basic. (o usa Alt + F11)

Ora avrai un nuovo modulo sotto la cartella Modules. Nuovi moduli

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: Riferimenti relativi

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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow