Copia dei dati senza lasciare la cella attualmente selezionata (Microsoft Excel)
Henri vorrebbe copiare i dati contenuti in una cella di origine in 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 in V104. Si chiede se una tale modifica sia addirittura possibile.
Ovviamente, l’approccio ovvio a questo è semplicemente mettere la formula = A1 nella cella AE459. Quindi, Excel si occupa di assicurarsi che le due celle siano uguali. Puoi 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 in realtà vuoi fare 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 seguente esempio copierà il contenuto della cella A1 in AE459 senza influire sulla cella attualmente selezionata:
Sub CopyCell1() ' Copy the cell value to destination cell Range("AE459") = Range("A1") End Sub
Se si desidera copiare una formula che si trova nella cella A1 nella destinazione, è necessario modificare il modo in cui viene eseguita la copia. In particolare, è necessario utilizzare il metodo Copia utilizzando l’intervallo di destinazione come parametro.
Sub CopyCell2() ' Copy the relative formula to destination Range("A1").Copy Range("AE459") End Sub
Ovviamente, 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 di 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 che hai selezionato.
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 utilizza questo approccio.
Sub CopyCell3() Dim SrceCell As String Dim DestCell As String SrceCell = InputBox("Copy From Cell ...") DestCell = InputBox("Copy To Cell ...") Range(DestCell) = Range(SrceCell) End Sub
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (9949) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.