En este artículo, usaremos el evento de cambio de la hoja de trabajo para transferir datos de una hoja a otra, dependiendo de una determinada condición.

Los datos brutos consisten en detalles del cliente, que incluyen nombre, dirección, ciudad, región, país y número de teléfono.

ArrowRawData

En este artículo, queremos transferir datos de aquellos clientes que no son elegibles para una oferta en particular. La última columna contiene «No» como valor, si un cliente no es elegible para una oferta en particular. Queremos copiar a esos clientes «no elegibles» a la hoja «NotEligibleData».

ArrowTriggeringEvent

ArrowOutput

Explicación del código

Si Target.Column = 7 Entonces El código anterior se usa para restringir el evento de cambio de la hoja de trabajo para que se ejecute solo cuando se cambia el valor en la 7ª columna.

Sheets («NotEligibleData»). Range («A2: I600»). ClearContents El código anterior se utiliza para eliminar el valor del rango A2: I600 Sheets («Main»). Cells (i, «G»). EntireRow.Copy Destino: = Hojas («NotEligibleData»). Rango («A» & Rows.Count) .End (xlUp) .Offset (1)

El código anterior se utiliza para copiar a los clientes no elegibles a la hoja «NotEligibleData».

Siga el código a continuación

Private Sub Worksheet_Change(ByVal Target As Range)

'Declaring variables

Dim i, Lastrow As Long

'Execute code if value in seventh column is changed

If Target.Column = 7 Then

'Getting the row number of last cell

Lastrow = Sheets("Main").Range("A" & Rows.Count).End(xlUp).Row



'Deleting any previous data from "NotEligibleData" sheet

Sheets("NotEligibleData").Range("A2:I600").ClearContents



'Looping from tenth row to last row

For i = 10 To Lastrow



'If value in G column of the row is "Not" then copy the row to destination sheet

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").Select

End Sub

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]