Code kiểm tra giữ liệu giữa sheet1 và sheet2 nếu có thay đổi thì đánh dấu (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Kiểm tra giữ liệu của sheet1 và sheet2 nếu giữ liệu của sheet1 thay đổi thì đánh dấu "N"
Hiện tại mình muốn lấy toàn bộ giữ liệu cột C:E và K:M của sheet1 so sanh với cột C:E và K:M của sheet2 nếu mã hàng ở sheet1 nào thay đổi thì thêm "N" ở cột F và N
Kết quả mình để trong file đính kèm.
 

File đính kèm

Kiểm tra giữ liệu của sheet1 và sheet2 nếu giữ liệu của sheet1 thay đổi thì đánh dấu "N"
Hiện tại mình muốn lấy toàn bộ giữ liệu cột C:E và K:M của sheet1 so sanh với cột C:E và K:M của sheet2 nếu mã hàng ở sheet1 nào thay đổi thì thêm "N" ở cột F và N
Kết quả mình để trong file đính kèm.
Trong khi chờ Code, tôi đề xuất 1 cách dùng hàm If & Vlookup. Trong File tôi có tạo cột phụ, nếu bạn thích thì để, không thì ẩn nó đi. Bây giờ bạn thay đổi số liệu trong 2 Sheet, bạn sẽ thấy cột H thay đổi theo.
Tôi tạm làm Bảng 1 và Bảng 2 để bạn tham khảo
 

File đính kèm

Upvote 0
Trong khi chờ Code, tôi đề xuất 1 cách dùng hàm If & Vlookup. Trong File tôi có tạo cột phụ, nếu bạn thích thì để, không thì ẩn nó đi. Bây giờ bạn thay đổi số liệu trong 2 Sheet, bạn sẽ thấy cột H thay đổi theo.
Tôi tạm làm Bảng 1 và Bảng 2 để bạn tham khảo
Kết quả chưa đúng
Mình muốn lấy tất cả giữ liệu trong sheet1 so sanh với tất cả giữ liệu trong sheet2 nếu có thay đổi thì thêm "N"
 
Upvote 0
Kiểm tra giữ liệu của sheet1 và sheet2 nếu giữ liệu của sheet1 thay đổi thì đánh dấu "N"
Hiện tại mình muốn lấy toàn bộ giữ liệu cột C:E và K:M của sheet1 so sanh với cột C:E và K:M của sheet2 nếu mã hàng ở sheet1 nào thay đổi thì thêm "N" ở cột F và N
Kết quả mình để trong file đính kèm.
Góp 1 đoạn code
Mã:
Public Sub Kiem_Tra()
Dim Nguon As Range, SoSanh As Range, pt1 As Range, pt2 As Range

With Sheet1
Set Nguon = Union(.Range("C4", .Range("C1000000").End(xlUp)), _
.Range("K22", .Range("K1000000").End(xlUp)))
.Range("C:C").Offset(, 3).ClearContents: .Range("K:K").Offset(, 3).ClearContents
End With

With Sheet2
Set SoSanh = Union(.Range("C4", .Range("C1000000").End(xlUp)), _
.Range("K22", .Range("K1000000").End(xlUp)))
End With

For Each pt1 In Nguon
For Each pt2 In SoSanh
If pt1 = pt2 Then
If pt1.Offset(, 1) <> pt2.Offset(, 1) Or pt1.Offset(, 2) <> pt2.Offset(, 2) Then
pt1.Offset(, 3) = "N"
End If
End If
Next pt2
Next pt1

End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom