この記事では、ワークシートの変更イベントを使用して、特定の条件に応じて、あるシートから別のシートにデータを転送します。

生データは、名前、住所、市、地域、国、電話番号などの顧客の詳細で構成されます。

ArrowRawData

この記事では、特定のオファーの対象とならない顧客のデータを転送したいと思います。顧客が特定のオファーの対象とならない場合、最後の列には値として「Not」が含まれます。これらの「資格のない」顧客を「NotEligibleData」シートにコピーしたいと思います。

ArrowTriggeringEvent

ArrowOutput

コードの説明

If Target.Column = 7 Then上記のコードは、ワークシートの変更イベントが7 ^ th ^列の値が変更された場合にのみ実行されるように制限するために使用されます。

Sheets( “NotEligibleData”)。Range( “A2:I600″)。ClearContents上記のコードは、範囲A2:I600 Sheets( “Main”)。Cells(i、 “G”)。EntireRow.Copyから値を削除するために使用されます。 Destination:= Sheets( “NotEligibleData”)。Range( “A”&Rows.Count).End(xlUp).Offset(1)

上記のコードは、資格のない顧客を「NotEligibleData」シートにコピーするために使用されます。

コードについては以下に従ってください

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

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください