Copiare i dati senza lasciare la cella attualmente selezionata

Enrico vorrebbe copiare dei dati da una cella di origine a una cella di destinazione senza lasciare la posizione corrente nel foglio di lavoro. In altre parole, vorrebbe copiare dalla cella A1 alla cella AE459 senza lasciare la sua posizione attuale su V104. Si chiede se una tale modifica sia possibile.

Naturalmente, l’approccio più ovvio a questo è semplicemente inserire la formula =A1 nella cella AE459. A quel punto, Excel si assicurerebbe che le due celle siano uguali. Potresti anche aprire una seconda finestra sul foglio di lavoro e occuparti della copia all’interno di quella finestra; la cella selezionata nella finestra originale (cella V104) rimarrebbe invariata.

Se vuoi effettivamente eseguire un’operazione di “copia”, però, senza aprire una seconda finestra, dovrai ricorrere a una macro.

Copiare da una cella all’altra all’interno di una macro è piuttosto semplice. Ad esempio, il codice seguente copierà il contenuto della cella A1 in AE459 senza influire sulla cella attualmente selezionata:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Se vuoi copiare una formula che si trova nella cella A1 nella destinazione, devi modificare il modo in cui viene eseguita la copia. In particolare, è necessario utilizzare il metodo Copy utilizzando l’intervallo di destinazione come parametro.

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Naturalmente, uno svantaggio di queste macro è che sono statiche: copiano solo dalla cella A1 alla cella AE459. Se le tue esigenze di copia possono variare, potresti prendere in considerazione l’esecuzione dell’attività nella finestra immediata dell’editor VB. Basta aprire l’editor e digitare la singola riga dalla macro appropriata nella finestra. La copia è quindi eseguita e puoi chiudere l’editor, il tutto senza influire sulla cella selezionata.

Un altro modo per fornire un po’ di flessibilità nell’origine e nella destinazione della macro è fare in modo che la macro richieda all’utente l’origine e la destinazione. La seguente macro adotta questo approccio.

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , ,

Ti è stato utile?