Em chào anh chị!
Em tham gia diễn đàn đã lâu, và cũng chỉ dừng lại ở hỏi đáp những vấn đề gặp phải (từ chèn ảnh bằng hàm của thầy ndu, tổng hợp công nhờ anh SA_DQ, anh Bate và nhiều vấn đề khác được bạn befaint giúp đỡ.
Hôm nay em viết bài này lên mong được học hỏi cái cốt lõi để em có thể tự viết cho mình, cụ thể với code làm việc với mảng em thấy nó thật kỳ diệu. Qua chủ đề này em hy vọng bản thân mình cũng như nhiều người có thể hiểu thêm nhiều điều về mảng
File đính kèm em lấy từ một thành viên trên diễn đàn mình mà không nhớ tên, xin được lượng thứ
Em tham gia diễn đàn đã lâu, và cũng chỉ dừng lại ở hỏi đáp những vấn đề gặp phải (từ chèn ảnh bằng hàm của thầy ndu, tổng hợp công nhờ anh SA_DQ, anh Bate và nhiều vấn đề khác được bạn befaint giúp đỡ.
Hôm nay em viết bài này lên mong được học hỏi cái cốt lõi để em có thể tự viết cho mình, cụ thể với code làm việc với mảng em thấy nó thật kỳ diệu. Qua chủ đề này em hy vọng bản thân mình cũng như nhiều người có thể hiểu thêm nhiều điều về mảng
File đính kèm em lấy từ một thành viên trên diễn đàn mình mà không nhớ tên, xin được lượng thứ

PHP:
Option Explicit
Public Sub GPE()Dim Dic As Object, Ws As Worksheet, sArr(), dArr(1 To 100, 1 To 4)Dim I As Long, J As Long, K As Long, Rws As Long, Tem As StringSet Dic = CreateObject("Scripting.Dictionary")For Each Ws In Worksheets If Ws.Name <> "Data" Then sArr = Ws.Range("A4", Ws.Range("A4").End(xlDown)).Resize(, 5).Value For I = 1 To UBound(sArr) Tem = sArr(I, 1) & "#" & sArr(I, 2) & "#" & sArr(I, 5) If Not Dic.Exists(Tem) Then K = K + 1 Dic.Add Tem, K dArr(K, 1) = sArr(I, 1) dArr(K, 2) = sArr(I, 2) dArr(K, 4) = sArr(I, 5) End If Rws = Dic.Item(Tem) dArr(Rws, 3) = dArr(Rws, 3) + sArr(I, 4) Next I End IfNext WsWith Sheets("Data") .Range("C5:F100").ClearContents .Range("C5:F5").Resize(K) = dArr .Range("A5:F5").Resize(K).Borders.LineStyle = 1End WithSet Dic = NothingEnd Sub