Leonard sta scrivendo una macro per trasferire i dati da un foglio di lavoro a un altro. Entrambi i fogli di lavoro si trovano nella stessa cartella di lavoro. I dati che desidera trasferire si trovano nel primo foglio di lavoro e utilizzano un intervallo denominato: “SourceData”.

Consiste in una singola riga di dati. Leonard vuole, all’interno della macro, trasferire questi dati dal primo foglio di lavoro alla prima riga vuota del secondo foglio di lavoro, ma non è del tutto sicuro di come procedere.

In realtà ci sono diversi modi per farlo, ma tutti i metodi hanno due prerequisiti: l’identificazione dell’intervallo di origine e l’identificazione dell’intervallo di destinazione. L’intervallo di origine è semplice perché è denominato. Puoi specificare l’intervallo di sorgenti nella tua macro in questo modo:

Set rngSource = Worksheets("Sheet1").Range("SourceData")

Capire la prima riga vuota nel foglio di lavoro di destinazione è un po ‘più complicato. Ecco un modo relativamente semplice per farlo:

iRow = Worksheets("Sheet2").Cells(Rows.Count,1).End(xlUp).Row + 1 Set rngTarget = Worksheets("Sheet2").Range("A" & iRow)

Al termine, la variabile rngTarget punta verso l’intervallo della cella A in qualunque sia la prima riga vuota. (In questo caso, una riga vuota è definita come qualsiasi riga che non ha qualcosa nella colonna A.)

Ora tutto ciò che devi fare è mettere questi intervalli di origine e destinazione da utilizzare con il metodo Copia:

Sub CopySource()

Dim rngSource As Range     Dim rngTarget As Range     Dim iRow As Integer

Set rngSource = Worksheets("Sheet1").Range("SourceData")

iRow = Worksheets("Sheet2").Cells(Rows.Count,1).End(xlUp).Row + 1     Set rngTarget = Worksheets("Sheet2").Range("A" & iRow)

rngSource.Copy Destination:=rngTarget End Sub

Nota che con gli intervalli definiti, tutto ciò che devi fare è utilizzare il metodo Copia sull’intervallo di origine e specificare l’intervallo di destinazione come destinazione per l’operazione. Al termine, i dati originali si trovano ancora nell’intervallo di origine, ma sono stati copiati nella destinazione.

_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 (3852) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: