Lộc giữ liệu 2 cột có giá trị khác nhau qua sheet khác (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi

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
Hiện nay mình đang dùng Conditional Formatting để so sánh giữa các cột
Ví dụ như cột A6 <> W6 thì đổi màu nay muốn code lộc qua sheet KQ
Các anh xem file dính kèm.
 
Hiện nay mình đang dùng Conditional Formatting để so sánh giữa các cột
Ví dụ như cột A6 <> W6 thì đổi màu nay muốn code lộc qua sheet KQ
Các anh xem file dính kèm.
PHP:
Sub tung()
    Dim Rng As Range, Rng1 As Range, I As Long
    Set Rng = Sheets("Check").Range("A6:A" & Sheets("Check").Range("A65000").End(xlUp).Row)
    Set Rng1 = Sheets("Check").Range("W6:W" & Sheets("Check").Range("W65000").End(xlUp).Row)
    Rng1.Interior.ColorIndex = xlNone
        For I = 1 To Rng.Rows.Count
                If Rng(I) <> Rng1(I) Then
                    Rng1(I).Interior.ColorIndex = 6
                End If
        Next
End Sub
Bạn thử xem sao nhé
PHP:
Sub Copy()
   Dim Sarr, Arr, i, k
   With Sheets("Check")
        Sarr = .Range(.[A6], .[A65000].End(3)).Resize(, 21).Value2
        Arr = .Range(.[W6], .[W65000].End(3)).Resize(, 21).Value2
    End With
   For i = 1 To UBound(Sarr, 1)
                If Sarr(i, 1) <> Arr(i, 1) Then
                    k = k + 1
                    For J = 1 To UBound(Sarr, 2)
                        Arr(k, J) = Sarr(i, J)
                    Next
                End If
    Next
    With Sheets("KQ")
        .[A5:U65000].ClearContents
        .[A5].Resize(k, 21).Value = Arr
    End With
End Sub
Nếu copy thì đùng code dưới nhé. Code trên là để tô màu khi khác nhau nhé
 
Lần chỉnh sửa cuối:
Upvote 0
PHP:
Sub tung()
    Dim Rng As Range, Rng1 As Range, I As Long
    Set Rng = Sheets("Check").Range("A6:A" & Sheets("Check").Range("A65000").End(xlUp).Row)
    Set Rng1 = Sheets("Check").Range("W6:W" & Sheets("Check").Range("W65000").End(xlUp).Row)
    Rng1.Interior.ColorIndex = xlNone
        For I = 1 To Rng.Rows.Count
                If Rng(I) <> Rng1(I) Then
                    Rng1(I).Interior.ColorIndex = 6
                End If
        Next
End Sub
Bạn thử xem sao nhé
PHP:
Sub Copy()
   Dim Sarr, Arr, i, k
   With Sheets("Check")
        Sarr = .Range(.[A6], .[A65000].End(3)).Resize(, 21).Value2
        Arr = .Range(.[W6], .[W65000].End(3)).Resize(, 21).Value2
    End With
   For i = 1 To UBound(Sarr, 1)
                If Sarr(i, 1) <> Arr(i, 1) Then
                    k = k + 1
                    For J = 1 To UBound(Sarr, 2)
                        Arr(k, J) = Sarr(i, J)
                    Next
                End If
    Next
    With Sheets("KQ")
        .[A5:U65000].ClearContents
        .[A5].Resize(k, 21).Value = Arr
    End With
End Sub
Nếu copy thì đùng code dưới nhé. Code trên là để tô màu khi khác nhau nhé
Rất đúng ý mình cám ơn bạn rất nhiều.
 
Upvote 0
PHP:
Sub tung()
    Dim Rng As Range, Rng1 As Range, I As Long
    Set Rng = Sheets("Check").Range("A6:A" & Sheets("Check").Range("A65000").End(xlUp).Row)
    Set Rng1 = Sheets("Check").Range("W6:W" & Sheets("Check").Range("W65000").End(xlUp).Row)
    Rng1.Interior.ColorIndex = xlNone
        For I = 1 To Rng.Rows.Count
                If Rng(I) <> Rng1(I) Then
                    Rng1(I).Interior.ColorIndex = 6
                End If
        Next
End Sub
Bạn thử xem sao nhé
PHP:
Sub Copy()
   Dim Sarr, Arr, i, k
   With Sheets("Check")
        Sarr = .Range(.[A6], .[A65000].End(3)).Resize(, 21).Value2
        Arr = .Range(.[W6], .[W65000].End(3)).Resize(, 21).Value2
    End With
   For i = 1 To UBound(Sarr, 1)
                 If Sarr(i, 1) <> Arr(i, 1) Or Sarr(i, 2) <> Arr(i, 2) Or Sarr(i, 3) <> Arr(i, 3) Then
 'có tới 21 cột cho hàm OR  thì rất dài bạn có thể viết ngắn được không.

                    k = k + 1                                                                                          

                    For J = 1 To UBound(Sarr, 2)                                                               
                     
                        Arr(k, J) = Sarr(i, J)
                    Next
                End If
    Next
    With Sheets("KQ")
        .[A5:U65000].ClearContents
        .[A5].Resize(k, 21).Value = Arr
    End With
End Sub
Nếu copy thì đùng code dưới nhé. Code trên là để tô màu khi khác nhau nhé
Trường hợp này chỉ so sánh cột đầu tiên thôi nếu cột sau thay đổi thì không hiện ra
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom