Câu hỏi liên quan đến dictionary

Liên hệ QC

nguyenvanlinhab

Thành viên mới
Tham gia
27/2/22
Bài viết
40
Được thích
0
Em có file như đính kèm. Sau khi tự học hỏi trên GPE mà vẫn không giải quyết dược bài này. Mọi người có thể chỉ giúp xem sai ở đâu không ạ
 

File đính kèm

  • hocvba.xlsm
    24.3 KB · Đọc: 32
Upvote 0
Dạ tại em nhìn thủ công xong đếm ạ
Test thử và không cần báo kết quả
Mã:
Sub hoc_vba()
    Dim sh As Worksheet, dic As Object, arr(), kq(), Key
    Dim i&, j&, k&, l As Long, lr As Long
    '    On Error Resume Next
    Set sh = Sheets("sheet1")
    Set dic = CreateObject("scripting.dictionary")
    lr = getlr(sh, 2)
    arr = sh.Range("A2:G" & lr).Value
    ReDim kq(1 To UBound(arr, 1), 1 To 3)
    For i = 1 To UBound(arr, 1)
        Key = arr(i, 6) & "|" & arr(i, 4)
        If dic.exists(Key) = False Then
            j = j + 1
            dic.Add (Key), j
            kq(j, 1) = arr(i, 6)
            kq(j, 2) = arr(i, 4)
            kq(j, 3) = 1
        Else
            kq(dic.item(Key), 3) = kq(dic.item(Key), 3) + 1
        End If
    Next i
    sh.Range("L2").Resize(100, 3).ClearContents
    sh.Range("L2").Resize(j, 3).Value = kq
End Sub
 
Upvote 0
Test thử và không cần báo kết quả
Mã:
Sub hoc_vba()
    Dim sh As Worksheet, dic As Object, arr(), kq(), Key
    Dim i&, j&, k&, l As Long, lr As Long
    '    On Error Resume Next
    Set sh = Sheets("sheet1")
    Set dic = CreateObject("scripting.dictionary")
    lr = getlr(sh, 2)
    arr = sh.Range("A2:G" & lr).Value
    ReDim kq(1 To UBound(arr, 1), 1 To 3)
    For i = 1 To UBound(arr, 1)
        Key = arr(i, 6) & "|" & arr(i, 4)
        If dic.exists(Key) = False Then
            j = j + 1
            dic.Add (Key), j
            kq(j, 1) = arr(i, 6)
            kq(j, 2) = arr(i, 4)
            kq(j, 3) = 1
        Else
            kq(dic.item(Key), 3) = kq(dic.item(Key), 3) + 1
        End If
    Next i
    sh.Range("L2").Resize(100, 3).ClearContents
    sh.Range("L2").Resize(j, 3).Value = kq
End Sub
Anh ơi cái này nghĩa là gì ạ ( key = arr(i, 6) & "|" & arr(i, 4) sao lại có "|"
 
Upvote 0
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom