Em đã thức 2 đêm để mò mẫm và chỉnh sửa nhưng vẫn không được ạ
Xin nhờ các bạn giải thích giúp em ý nghĩa của từng câu lệnh trong đoạn code được không? ( phần em tô màu đỏ)
Em vô cùng biết ơn về sự giúp đỡ của các anh chị trong thời gian đã qua
ublic Sub GPE()
Dim Dic As Object, sArr(), dArr(), tArr(), I As Long, J As Long, K As Long, N As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
tArr = Range("E3:E4").Value
sArr = Range([A4], [A4].End(xlDown)).Resize(, 3).Value ' Cái này có phải là kích thước của mảng không ạ?
ReDim dArr(1 To UBound(sArr, 1) * 2, 1 To 3) '*2,1 to 3 ý nghĩa là như thế nào?
For I = 1 To UBound(sArr, 1)
For N = 1 To 2
Tem = sArr(I, 1) & tArr(N, 1)
If Not Dic.Exists(Tem) Then
K = K + 1
Dic.Add Tem, K
dArr(K, 1) = sArr(I, 1)
dArr(K, 2) = tArr(N, 1)
dArr(K, 3) = 0
End If
Next N
Tem = sArr(I, 1) & sArr(I, 2)
If Dic.Exists(Tem) Then
dArr(Dic.Item(Tem), 3) = dArr(Dic.Item(Tem), 3) + sArr(I, 3)
Else
K = K + 1
For J = 1 To 3
dArr(K, J) = sArr(I, J)
Next J
End If
Next I
[A4:C1000].ClearContents
[A4].Resize(K, 3) = dArr
Set Dic = Nothing
End Sub
Xin nhờ các bạn giải thích giúp em ý nghĩa của từng câu lệnh trong đoạn code được không? ( phần em tô màu đỏ)
Em vô cùng biết ơn về sự giúp đỡ của các anh chị trong thời gian đã qua

ublic Sub GPE()
Dim Dic As Object, sArr(), dArr(), tArr(), I As Long, J As Long, K As Long, N As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
tArr = Range("E3:E4").Value
sArr = Range([A4], [A4].End(xlDown)).Resize(, 3).Value ' Cái này có phải là kích thước của mảng không ạ?
ReDim dArr(1 To UBound(sArr, 1) * 2, 1 To 3) '*2,1 to 3 ý nghĩa là như thế nào?
For I = 1 To UBound(sArr, 1)
For N = 1 To 2
Tem = sArr(I, 1) & tArr(N, 1)
If Not Dic.Exists(Tem) Then
K = K + 1
Dic.Add Tem, K
dArr(K, 1) = sArr(I, 1)
dArr(K, 2) = tArr(N, 1)
dArr(K, 3) = 0
End If
Next N
Tem = sArr(I, 1) & sArr(I, 2)
If Dic.Exists(Tem) Then
dArr(Dic.Item(Tem), 3) = dArr(Dic.Item(Tem), 3) + sArr(I, 3)
Else
K = K + 1
For J = 1 To 3
dArr(K, J) = sArr(I, J)
Next J
End If
Next I
[A4:C1000].ClearContents
[A4].Resize(K, 3) = dArr
Set Dic = Nothing
End Sub