Sub test1()
Worksheets("Sheet2").Select
Dim dic As Object
Dim iRow As Long, i As Long
Dim Arr() As Variant, VungDuLieu As Variant
Dim Dic2 As Object
Dim j As Long
Dim n As Long
With Sheets("Sheet2")
Set dic = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
VungDuLieu = Range("A1", Range("A1").End(xlToRight).End(xlDown).Address).Value '65536 '1048576
ReDim Arr(1 To UBound(VungDuLieu, 1), 1 To 10)
For iRow = 1 To UBound(VungDuLieu, 1)
If Not IsEmpty(VungDuLieu(iRow, 5)) And Not dic.Exists(VungDuLieu(iRow, 5)) Then
i = i + 1
dic.Add VungDuLieu(iRow, 5), i
Arr(i, 1) = VungDuLieu(iRow, 5)
'MsgBox "Tai: " & iRow & "___" & VungDuLieu(iRow, 7)
If VungDuLieu(iRow, 10) = "USD" Then
If VungDuLieu(iRow, 2) = "HoiSo" Then
Arr(i, 2) = Dic2.count
End If
ElseIf VungDuLieu(iRow, 10) = "VND" Then
End If
Else
End If
Next iRow
End With
Sheets("Sheet2").Select
With Sheets("Sheet2")
.Range("O2").Resize(i, 3).Value = Arr 'dong nay de xuat gtri mang Arr ra B51
End With
Set dic = Nothing
End Sub