



Xin nhờ chỉ giúp
Giả sử có hàm sum mảng như sau:
{=SUM(IF($B$1:$B$400=D$1,$C$1:$C$400,0))}
(Xem File "Test2" đính kèm)
Khi trị 400 thay đổi theo biến "r", thì cách viết Code VBA theo biến "r" như thế nào?
Rất cảm ơn sự trợ giúp
Sub cong()
Dim dic As Object, dulieu(), i As Long
Set dic = CreateObject("scripting.dictionary")
dulieu = Range([b1], [c65536].End(3)).Value
For i = 1 To UBound(dulieu)
   If dulieu(i, 1) <> "" Then
      If Not dic.exists(dulieu(i, 1)) Then
         dic.Add dulieu(i, 1), dulieu(i, 2)
      Else
         dic.Item(dulieu(i, 1)) = dic.Item(dulieu(i, 1)) + dulieu(i, 2)
      End If
   End If
Next
[d3].Resize(, dic.Count) = dic.keys
[d4].Resize(, dic.Count) = dic.items
End Sub
	



Xin nhờ chỉ giúp
Giả sử có hàm sum mảng như sau:
{=SUM(IF($B$1:$B$400=D$1,$C$1:$C$400,0))}
(Xem File "Test2" đính kèm)
Khi trị 400 thay đổi theo biến "r", thì cách viết Code VBA theo biến "r" như thế nào?
Rất cảm ơn sự trợ giúp



Nếu sum mảng dùng nhiều điều kiện thì mình phải làm như thế nào vậy các bác?
Ví dụ: {=sum(if(or(dk1,dk2),soluong*dongia,0))} sao luôn trả về giá trị sai? Cách fix chỗ này sao các bác? Chẳng lẽ lại {=sum(if(if(dk1,1,0)*if(dk2,1,0)*soluong*dongia))}
Mong các bác giúp đỡ ^^