Cám ơn bạn
Bạn xem giúp thêm mình ở sheet2, nếu khách hàng trùng nhau, cột Mahang sẽ hiển thị những mã hàng trùng nhau, nếu ít mã hàng thì ko sao, nhưng nếu hàng ngàn dòng mã hàng thì sẽ rất bất tiện, có thể nào ko cho hiển thị những mã hàng trùng nhau ko? (để dễ chọn hơn)
View attachment 121463
Thay code cũ (Trong sheet2) bằng cái này thử xem:
[GPECODE=vb]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Dic As Object, sArr(), dArr(), I As Long, K As Long, R As Long
Dim K2 As Long, MaxK As Long, Rw As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
If Not Intersect(Target, Range("C3

1000")) Is Nothing Then
If Target.Count = 1 Then
Rw = Target.Row
Tem = Range("B" & Rw)
With Sheet1
sArr = .Range(.[B3], .[B65536].End(xlUp)).Resize(, 3).Value2
R = UBound(sArr, 1)
End With
ReDim dArr(1 To R, 1 To 2)
For I = 1 To R
If sArr(I, 1) = Tem Then
If Not Dic.Exists(sArr(I, 2)) Then
Dic.Add sArr(I, 2), ""
K = K + 1
dArr(K, 1) = sArr(I, 2)
End If
If Not Dic.Exists(sArr(I, 3)) Then
Dic.Add sArr(I, 3), ""
K2 = K2 + 1
dArr(K2, 2) = sArr(I, 3)
End If
End If
Next I
If K > K2 Then
MaxK = K
Else
MaxK = K2
End If
[AA1:AB100].ClearContents
If MaxK Then [AA1].Resize(MaxK, 2) = dArr
End If
End If
Set Dic = Nothing
End Sub[/GPECODE]