Nhờ giúp đỡ code nhóm dữ liệu theo điều kiện (1 người xem)

  • Thread starter Thread starter Alber
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Alber

Thành viên mới
Tham gia
27/12/22
Bài viết
27
Được thích
5
Giới tính
Nữ
Xin chào anh/chị
Do máy công ty đang dùng office 2010 không dùng được hàm mới, nên nhờ anh/chị giúp dùm code nối dữ liệu khi trùng mã STT.
kết quả mong muốn như phía dưới, xin chan thành cảm ơn anh/chị.
1672218157606.png
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
...
Do máy công ty đang dùng office 2010 không dùng được hàm mới, ...
Công ty này không biết mắc cở.
Đồi hỏi việc rắc rối mà không chịu bỏ tiền mua phần mềm. Để cho nhân viên đi nhờ người ngoài làm giùm.
 
Upvote 0
Anh có thể giúp e dc ko ạ
PHP:
Function MaKH(SoTT As String, CSDL As Range)
 Const FC As String = "\\"
 Dim J As Long, Rws As Integer
 
 Rws = CSDL.Rows.Count
 For J = 1 To Rws + 3
    If Cells(J, 1).Value = SoTT Then
        MaKH = Cells(J, 3).Value & FC & MaKH
    End If
 Next J
 MaKH = Left(MaKH, Len(MaKH) - 2)
End Function
 
Upvote 0
PHP:
Function MaKH(SoTT As String, CSDL As Range)
 Const FC As String = "\\"
 Dim J As Long, Rws As Integer
 
 Rws = CSDL.Rows.Count
 For J = 1 To Rws + 3
    If Cells(J, 1).Value = SoTT Then
        MaKH = Cells(J, 3).Value & FC & MaKH
    End If
 Next J
 MaKH = Left(MaKH, Len(MaKH) - 2)
End Function
Em cám ơn anh nhiều ạ!
 
Upvote 0
Xin chào anh/chị
Do máy công ty đang dùng office 2010 không dùng được hàm mới, nên nhờ anh/chị giúp dùm code nối dữ liệu khi trùng mã STT.
kết quả mong muốn như phía dưới, xin chan thành cảm ơn anh/chị.
View attachment 285200
Bạn sử dụng code sau và kiểm tra lại kết quả nhé!
PHP:
Sub Gop_DL()
    Dim Lr&, i&, Arr(), Res(1 To 10000, 1 To 3)
    Dim Dic As Object, Key$, k&
    Set Dic = CreateObject("Scripting.Dictionary")
    On Error Resume Next
    With Sheets("Sheet1")
        .Range("H4:J10000").ClearContents
        Lr = .Range("A" & Rows.Count).End(xlUp).Row
        Arr = .Range("A4:C" & Lr).Value
        For i = 1 To UBound(Arr)
            Key = Arr(i, 1)
            If Not Dic.exists(Key) Then
                k = k + 1
                Dic.Add (Key), k
                Res(k, 1) = Arr(i, 1)
                Res(k, 2) = Arr(i, 2)
                Res(k, 3) = Arr(i, 3)
            Else
                Res(Dic.Item(Key), 3) = Res(Dic.Item(Key), 3) & "//" & Arr(i, 3)
            End If
        Next i
        .Range("H4").Resize(k, 3).Value = Res
    End With
    Set Dic = Nothing
End Sub
 
Upvote 0
Bạn sử dụng code sau và kiểm tra lại kết quả nhé!
PHP:
Sub Gop_DL()
    Dim Lr&, i&, Arr(), Res(1 To 10000, 1 To 3)
    Dim Dic As Object, Key$, k&
    Set Dic = CreateObject("Scripting.Dictionary")
    On Error Resume Next
    With Sheets("Sheet1")
        .Range("H4:J10000").ClearContents
        Lr = .Range("A" & Rows.Count).End(xlUp).Row
        Arr = .Range("A4:C" & Lr).Value
        For i = 1 To UBound(Arr)
            Key = Arr(i, 1)
            If Not Dic.exists(Key) Then
                k = k + 1
                Dic.Add (Key), k
                Res(k, 1) = Arr(i, 1)
                Res(k, 2) = Arr(i, 2)
                Res(k, 3) = Arr(i, 3)
            Else
                Res(Dic.Item(Key), 3) = Res(Dic.Item(Key), 3) & "//" & Arr(i, 3)
            End If
        Next i
        .Range("H4").Resize(k, 3).Value = Res
    End With
    Set Dic = Nothing
End Sub
Dạ, e cảm ơn anh nhiều ạ!
 
Upvote 0
Web KT

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

Back
Top Bottom