Cách chuyển dữ liệu cụ thể từ trang tính này sang trang tính khác thông qua VBA trong Microsoft Excel
Trong bài này, chúng ta sẽ sử dụng sự kiện thay đổi của trang tính để chuyển dữ liệu từ trang này sang trang khác, tùy thuộc vào một điều kiện nhất định.
Dữ liệu thô bao gồm thông tin chi tiết về khách hàng, bao gồm Tên, Địa chỉ đường phố, Thành phố, Khu vực, Quốc gia và Số điện thoại.
Trong bài viết này, chúng tôi muốn chuyển dữ liệu của những khách hàng không đủ điều kiện nhận ưu đãi cụ thể. Cột cuối cùng chứa giá trị “Không phải”, nếu khách hàng không đủ điều kiện cho một ưu đãi cụ thể. Chúng tôi muốn sao chép những khách hàng ‘không đủ điều kiện’ đó vào trang tính “Dữ liệu không đủ điều kiện”.
Giải thích mã
If Target.Column = 7 Then Đoạn mã trên được sử dụng để hạn chế sự kiện thay đổi của trang tính chỉ thực thi khi giá trị trong cột 7 ^ th ^ được thay đổi.
Trang tính (“Dữ liệu không đủ điều kiện”). Phạm vi (“A2: I600”). ClearContents Đoạn mã trên được sử dụng để xóa giá trị khỏi phạm vi A2: I600 Trang tính (“Chính”). Ô (i, “G”). EntireRow.Copy Đích: = Trang tính (“Dữ liệu không đủ điều kiện”). Phạm vi (“A” & Hàng.Count) .End (xlUp) .Offset (1)
Đoạn mã trên được sử dụng để sao chép những khách hàng không đủ điều kiện vào trang tính “Dữ liệu không đủ điều kiện”.
Vui lòng theo dõi bên dưới để biết mã
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
Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.
Chúng tôi rất muốn nghe ý kiến từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]