In questo articolo, creeremo una macro per l'unione di più aree su un foglio specificato.
I dati grezzi sono costituiti da alcuni dati di esempio, che includono Nome ed Età. Abbiamo due aree che contengono dati grezzi. Vogliamo un'unione di entrambe le aree al foglio “Destinazione”.
Facendo clic sul pulsante "Copia record" verrà eseguita l'unione dei dati da entrambe le aree, insieme alla formattazione.
Facendo clic sul pulsante "Copia solo valore" verrà eseguita anche l'unione dei dati da entrambe le aree, ma senza copiare il formato della cella.
Spiegazione del codice
Per ogni foglio piccolo in fogli ("Principale"). Intervallo ("A9: B13, D16: E20"). Aree
Successivo Smallrng
Il precedente ciclo For Each viene utilizzato per eseguire il ciclo su aree definite.
Imposta DestRange = Sheets("Destination").Range("A" & LastRow)
Il codice sopra viene utilizzato per creare un oggetto intervallo dell'ultima cella, in cui vogliamo copiare i dati.
Smallrng.Copy DestRange
Il codice sopra viene utilizzato per copiare i dati nella destinazione specificata.
Si prega di seguire sotto per il codice
Option Explicit Sub CopyMultiArea() 'Dichiarazione delle variabili Dim DestRange As Range Dim Smallrng As Range Dim LastRow As Long 'Ripercorso le aree specificate per ogni Smallrng In Sheets("Main").Range("A9:B13,D16:E20"). Aree 'Trovare il numero di riga dell'ultima cella LastRow = Sheets("Destination").Range("A1").SpecialCells(xlLastCell).Row + 1 'Selezionare la cella in cui copiare i record If LastRow = 2 Then Set DestRange = Sheets("Destination").Range("A" & LastRow - 1) Else Imposta DestRange = Sheets("Destination").Range("A" & LastRow) End If 'Copia i record nell'intervallo di destinazione specificato Smallrng.Copy DestRange Next Smallrng End Sub Sub CopyMultiAreaValues() 'Dichiarazione delle variabili Dim DestRange As Range Dim Smallrng As Range Dim LastRow As Long 'Esplora le aree specificate per ogni Smallrng In Sheets("Main").Range("A9:B13,D16:E20" ).Areas 'Trovare il numero di riga dell'ultima cella LastRow = Sheets("Destination").Range("A1").SpecialCells(xlLastCell).Row + 1 With Smallrng 'Selezionare la cella dove re i cavi devono essere copiati If LastRow = 2 Then Set DestRange = Sheets("Destination").Range("A" & LastRow - 1).Resize(.Rows.Count, .Columns.Count) Else Set DestRange = Sheets(" Destination").Range("A" & LastRow).Resize(.Rows.Count, .Columns.Count) End If End With 'Assegnazione dei valori dall'origine alla destinazione DestRange.Value = Smallrng.Value Next Smallrng End Sub
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.
Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica