Cái này dùng hàm cũng được mà bạn. Hay bắt buộc phải code?
View attachment 304235
Do File dữ liệu nhiều nên mình chỉ tạo 1 số để hỏi , hiện đang dùng code sau nhưng không biết bổ sung thêm điều kiện gì
Private Sub CommandButton1_Click()
Dim Dic As Object, sArr(), Darr(), Rng As Range, Cll As Range, I As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
'-------------------------------------------------------------------------------------------
With Sheet1
Darr = .Range("B4", .[B500000].End(xlUp)).Resize(, 5).Value
For I = 1 To UBound(Darr, 1)
Tem = Darr(I, 1) & "#" & Darr(I, 2)
If Not Dic.Exists(Tem) Then
Dic.Add Tem, Darr(I, 3)
End If
Next I
'-------------------------------------------------------------------------------------------
sArr = .Range("G4", .[G5000].End(xlUp)).Resize(, 3).Value
ReDim Darr(1 To UBound(sArr, 1), 1 To 1)
For I = 1 To UBound(sArr, 1)
Tem = sArr(I, 1) & "#" & sArr(I, 2)
If Dic.Exists(Tem) Then
Darr(I, 1) = Dic.Item(Tem)
End If
Next I
.[I4].Resize(I - 1) = Darr
End With
'-------------------------------------------------------------------------------------------
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub