Come trasferire dati specifici da un foglio a un altro tramite VBA in Microsoft Excel

Anonim

In questo articolo, utilizzeremo l'evento di modifica del foglio di lavoro per trasferire i dati da un foglio a un altro, a seconda di una determinata condizione.

I dati grezzi sono costituiti dai dettagli del cliente, che includono nome, indirizzo, città, regione, paese e numero di telefono.

In questo articolo, vogliamo trasferire i dati di quei clienti che non hanno diritto a una particolare offerta. L'ultima colonna contiene "Not" come valore, se un cliente non è idoneo per una particolare offerta. Vogliamo copiare quei clienti "non idonei" nel foglio "NotEligibleData".

Spiegazione del codice

Se Target.Column = 7 Allora

Il codice sopra viene utilizzato per limitare l'evento di modifica del foglio di lavoro da eseguire solo quando il valore è in 7ns colonna è cambiata.

Fogli ("Dati non idonei"). Intervallo ("A2: I600"). Cancella contenuto

Il codice sopra viene utilizzato per eliminare il valore dall'intervallo A2: I600

Fogli("Main").Celle(i, "G").EntireRow.Copy Destination:=Sheets("NotEligibleData").Range("A" & Rows.Count).End(xlUp).Offset(1)

Il codice sopra viene utilizzato per copiare i clienti non idonei nel foglio "NotEligibleData".

Si prega di seguire sotto per il codice

 Private Sub Worksheet_Change(ByVal Target As Range) 'Dichiarazione delle variabili Dim i, Lastrow As Long 'Esegui il codice se il valore nella settima colonna è cambiato If Target.Column = 7 Then 'Ottenendo il numero di riga dell'ultima cella Lastrow = Sheets("Main" ).Range("A" & Rows.Count).End(xlUp).Row 'Eliminazione dei dati precedenti dal foglio "NotEligibleData" Sheets("NotEligibleData").Range("A2:I600").ClearContents 'Looping dal decimo riga nell'ultima riga For i = 10 To Lastrow 'Se il valore nella colonna G della riga è "Not", quindi copia la riga nel foglio di destinazione If Sheets("Main").Cells(i, "G").Value = " Not" Then Sheets("Main").Cells(i, "G").EntireRow.Copy Destination:=Sheets("NotEligibleData").Range("A" & Rows.Count).End(xlUp).Offset( 1) End If Next i End If Range ("A1"). Seleziona 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