Lọc dữ liệu khác nhau qua sheet 2 (1 người xem)

Liên hệ QC

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

HocVBAExcel

Thành viên mới
Tham gia
17/4/15
Bài viết
40
Được thích
1
Giới tính
Nam
Chào Tất cả
Mình có 2 vùng dữ liệu sau
Tại vùng "A9:C15" dùng công thức nối chuỗi 3 cột lại (A9&B9&C9)
Tại vùng "G7:I15" dùng công thức nối chuỗi 3 cột lại (G7&H7&I7)
Nếu dữ liệu hai vùng khác nhau thì xuất ra sheet 2
Kết quả mình muốn để ở sheet2.
Cám ơn tất cả nhiều.
 

File đính kèm

Mượn code trên diễn đàn chấp vá lại thử có đúng không
Mã:
Private Sub CommandButton1_Click()
Dim Arr(), Dic As Object, Tem, Res()
Dim I As Long, dArr(), J As Long, k As Long
Set Dic = CreateObject("scripting.dictionary")
Range("J7:J1000").ClearContents
With Sheet1
Arr = .Range("A9", .[A65536].End(3)).Resize(, 4).Value
End With
With Sheet1
   dArr = .Range("G7", .[G65536].End(3)).Resize(, 4).Value
   For I = 1 To UBound(Arr)
   Tem = Arr(I, 1) & Arr(I, 2) & Arr(I, 3)
      Dic(Tem) = ""
   Next
   For I = 1 To UBound(dArr)
   Tem = dArr(I, 1) & dArr(I, 2) & dArr(I, 3)
      If Dic.Exists(Tem) Then
            dArr(I, 4) = "OK"
      End If
   Next
   .[G7].Resize(I - 1, 4) = dArr
End With
With Sheet1
   dArr = .Range("G7", .[G65536].End(3)).Resize(, 4).Value
   End With
   ReDim Res(1 To UBound(dArr, 1), 1 To 4)
    For I = 1 To UBound(dArr)
       If dArr(I, 4) = Empty Then
            k = k + 1
            Res(k, 1) = dArr(I, 1)
            Res(k, 2) = dArr(I, 2)
            Res(k, 3) = dArr(I, 3)
                     End If
                             Next
With Sheet2
If k Then
.Range("A7:C1000").ClearContents
.Range("A7").Resize(k, 3) = Res
Else
MsgBox "KHONG CO"
End If
End With
End Sub
 
Upvote 0

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

Back
Top Bottom