Immaginiamo di dover copiare una formula da una cella Excel e incollarla in un’altra cella mantenendo l’esatta formula, quindi senza aggiornare i riferimenti relativi. I passaggi seguenti permettono di creare una macro che farà esattamente il copia e incolla delle formula, senza cambiare i riferimenti della formula stessa.
Dovendo lavorare in ambiente VBA apriamo la relativa finestra.
In Excel 2007
Bottone di Office – Pulsante Opzioni di Excel – Impostazioni generali – Opzione Mostra scheda Sviluppo sulla barra multifunzione
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic
In Excel 2010/2013/2016
Scheda File – Opzioni – Personalizzazione barra multifunzione – Selezionare Sviluppo nella sezione Schede principali
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic
Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) quindi copiare il codice riportato qui sotto:
Sub CopiaFormule()
Dim rngFirst As Range
Dim rngSecond As Range
Dim cell As Range
On Error GoTo Cancelled
Set rngFirst = Application.InputBox("Selezionare le celle da copiare", "Obtain Range Object", Type:=8)
Err.Clear
On Error GoTo 0
On Error GoTo Cancelled
Set rngSecond = Application.InputBox("Selezionare le celle di destinazione", "Obtain Range Destination", Type:=8)
Err.Clear
On Error GoTo 0
With Application.ActiveSheet
rngSecond.Formula = rngFirst.Formula
End With
Cancelled:
End Sub
Chiudere la finestra di Visual Basic
Tramite la Scheda Visualizza o nella Scheda Sviluppo cliccare sul pulsante Macro, selezionare CopiaFormule e cliccare su Esegui; si aprirà una finestra di dialogo che inviterà a selezionare le celle che contengono le formule da copiare; cliccando su OK si aprirà un’altra finestra di dialogo che inviterà a selezionare le celle di destinazione. Cliccando su OK le formule verranno copiate in modo che siano esattamente uguali a quelle originali.
Per maggiore comodità si può aggiungere la Macro come pulsante nella Barra di Accesso Rapido, ovvero quella che contiene anche il comando Annulla; per fare questo selezionare Altri comandi… nel menù a discesa della barra di accesso rapido quindi in Scegli comandi da: selezionare Macro e infine selezionare CopiaFormule e cliccare su aggiungi.
Informatics, ski racer, loves travels, Finland, Norway, mountains, squash, photography, Drones and RC Helicopter
Io faccio così:
vado sulla barra della formula
copio la formula
ESC
clicco nella casella dove voglio copiare la formula
clicco nella barra della formula
CTRL+v
fatto!