어떻게 Microsoft Excel에서 VBA를 통해 또 다른 하나의 시트에서 특정 데이터를 전송하려면
이 기사에서는 특정 조건에 따라 워크 시트의 변경 이벤트를 사용하여 한 시트에서 다른 시트로 데이터를 전송합니다.
원시 데이터는 이름, 주소, 도시, 지역, 국가 및 전화 번호를 포함하는 고객 세부 정보로 구성됩니다.
이 기사에서는 특정 제안을받을 자격이없는 고객의 데이터를 전송하려고합니다. 고객이 특정 오퍼를받을 자격이없는 경우 마지막 열에는 값으로 “Not”이 포함됩니다. 이러한 ‘적격하지 않은’고객을“NotEligibleData”시트에 복사하려고합니다.
코드 설명
If Target.Column = 7 Then 위 코드는 7 ^ th ^ 열의 값이 변경 될 때만 실행되도록 워크 시트의 변경 이벤트를 제한하는 데 사용됩니다.
Sheets ( “NotEligibleData”). Range ( “A2 : I600”). ClearContents 위 코드는 A2 : I600 Sheets ( “Main”). Cells (i, “G”). EntireRow.Copy 범위에서 값을 삭제하는 데 사용됩니다. 대상 : = 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]로 문의 해주세요