Theo tôi bạn nên sửa:
If Rng1(I, J) > 0 Then
Arr2(Dic2.Item(Rng1(I, 1) & Rng1(I, 2) & Rng1(I, 4)), Dic.Item(Ws1.Cells(2, J) & Ws1.Cells(3, J)) + 4) = Rng1(I, J)
End If
Thành:
If Dic2.exists(Rng1(I, 1) & Rng1(I, 2) & Rng1(I, 4)) Then
Arr2(Dic2.Item(Rng1(I, 1) & Rng1(I, 2)...