Dans cet article, nous utiliserons l’événement de changement de feuille de calcul pour transférer des données d’une feuille à une autre, en fonction d’une certaine condition.

Les données brutes se composent des détails du client, qui incluent le nom, l’adresse postale, la ville, la région, le pays et le numéro de téléphone.

ArrowRawData

Dans cet article, nous souhaitons transférer les données des clients qui ne sont pas éligibles à une offre particulière. La dernière colonne contient «Non» comme valeur, si un client n’est pas éligible pour une offre particulière. Nous souhaitons copier ces clients «non éligibles» dans la feuille «NotEligibleData».

ArrowTriggeringEvent

ArrowOutput

Explication du code

Si Target.Column = 7 Then Le code ci-dessus est utilisé pour restreindre l’événement de modification de la feuille de calcul à exécuter uniquement lorsque la valeur de la 7 ^ e ^ colonne est modifiée.

Sheets (« NotEligibleData »). Range (« A2: I600 »). ClearContents Le code ci-dessus est utilisé pour supprimer la valeur de la plage A2: I600 Sheets (« Main »). Cells (i, « G »). CompleteRow.Copy Destination: = Sheets (« NotEligibleData »). Range (« A » & Rows.Count) .End (xlUp) .Offset (1)

Le code ci-dessus est utilisé pour copier les clients non éligibles dans la feuille « NotEligibleData ».

Veuillez suivre ci-dessous pour le code

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 vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]