Gộp điểm bằng VBA (3 người xem)

Liên hệ QC

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

Thiên Thanh1

Thành viên mới
Tham gia
16/10/20
Bài viết
36
Được thích
9
Chào các bạn
nhờ các bạn viết giúp code như nội dung file đính kèm
Cảm ơn các bạn
 

File đính kèm

Anh viết cho mình bằng Vba được không?
1) Trong bảng không có Mã học sinh mà chỉ có Tên, có 2 tên trùng ( Xuân Mai & Thanh Thanh ), máy đâu có hiểu được bạn
2) Số lượng học sinh 2 bảng bằng nhau & tên giống nhau hết chứ bạn ?
 
Upvote 0
1) Trong bảng không có Mã học sinh mà chỉ có Tên, có 2 tên trùng ( Xuân Mai & Thanh Thanh ), máy đâu có hiểu được bạn
2) Số lượng học sinh 2 bảng bằng nhau & tên giống nhau hết chứ bạn ?
Dạ 2 bảng tên được sắp xếp thứ tự và số lượng như nhau chú ơi.
 
Upvote 0
Đang mải xem đá bóng, không xem kỹ, bạn chạy code này cũng được, gọn hơn tý
Thân
Mã:
Public Sub Noi()
    Dim BangA, BangB, I, Kq, Dau, Rot, iHang, K, Wf
    Rot = "R" & ChrW(7899) & "t"
    Set BangA = Sheets("DS1").Range(Sheets("DS1").[A2], Sheets("DS1").[A5000].End(xlUp)).Resize(, 5)
    Set BangB = Sheets("DS2").Range(Sheets("DS2").[A2], Sheets("DS2").[A5000].End(xlUp)).Resize(, 5)
    Set Wf = Application.WorksheetFunction
    ReDim Kq(1 To BangA.Rows.Count, 1 To 1)
        For I = 1 To BangA.Rows.Count
                K = K + 1
                If BangA(I, 2) <> "R" & ChrW(7899) & "t" Then
                    If BangB(I, 2) <> "R" & ChrW(7899) & "t" Then
                        Kq(K, 1) = Join(Wf.Transpose(Wf.Transpose(BangA(I, 3).Resize(, 3))), ", ") & ", " & Join(Wf.Transpose(Wf.Transpose(BangB(I, 3).Resize(, 3))), ", ")
                    End If
                Else
                        Kq(K, 1) = "R" & ChrW(7899) & "t"
                End If
        Next I
    [I2].Resize(K, 1) = Kq
End Sub
 
Upvote 0
Đang mải xem đá bóng, không xem kỹ, bạn chạy code này cũng được, gọn hơn tý
Thân
Mã:
Public Sub Noi()
    Dim BangA, BangB, I, Kq, Dau, Rot, iHang, K, Wf
    Rot = "R" & ChrW(7899) & "t"
    Set BangA = Sheets("DS1").Range(Sheets("DS1").[A2], Sheets("DS1").[A5000].End(xlUp)).Resize(, 5)
    Set BangB = Sheets("DS2").Range(Sheets("DS2").[A2], Sheets("DS2").[A5000].End(xlUp)).Resize(, 5)
    Set Wf = Application.WorksheetFunction
    ReDim Kq(1 To BangA.Rows.Count, 1 To 1)
        For I = 1 To BangA.Rows.Count
                K = K + 1
                If BangA(I, 2) <> "R" & ChrW(7899) & "t" Then
                    If BangB(I, 2) <> "R" & ChrW(7899) & "t" Then
                        Kq(K, 1) = Join(Wf.Transpose(Wf.Transpose(BangA(I, 3).Resize(, 3))), ", ") & ", " & Join(Wf.Transpose(Wf.Transpose(BangB(I, 3).Resize(, 3))), ", ")
                    End If
                Else
                        Kq(K, 1) = "R" & ChrW(7899) & "t"
                End If
        Next I
    [I2].Resize(K, 1) = Kq
End Sub
Cháu cảm ơn chú
Chúc chú nhiều sức khỏe
 
Upvote 0
Upvote 0
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom