Nhờ các Sư phụ tổng hợp số liệu giúp em (1 người xem)

Liên hệ QC

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

diemdiem

Thành viên hoạt động
Tham gia
23/11/10
Bài viết
149
Được thích
7
Em có 1 file excel, số liệu là các lớp, mỗi lớp 1 sheet, Nhờ các sư phụ trong diễn đàn, tổng hợp số liệu ở sheet lọc giúp dùm em. Ô điều kiện lọc là B4. Em cám ơn các sư phụ rất nhiều.
 

File đính kèm

Theo mình bạn nên gôm hết các trang tính về danh sách HS các lớp vô 1 trang (cho toàn trường)

Mỗi HS nên có số báo danh hay mã duy nhất.
 
Upvote 0
Hên xui...
Mã:
Public Sub GPE()
Dim sArr, dArr(1 To 10000, 1 To 20), I As Long, J As Long
Dim K As Long, Ws As Worksheet, DK As String, tArr, T As Long, Z As Long
DK = Sheets("Loc").Range("B4").Value: tArr = Sheets("Loc").Range("A6").Resize(, 20).Value
K = 1
Application.ScreenUpdating = False
For Each Ws In Worksheets
    If Ws.Name <> "Loc" Then
    sArr = Ws.Range("A7", Ws.Range("A7").End(4)).Resize(, 20).Value
    For I = 1 To UBound(sArr)
    If Len(sArr(I, 1)) Then
        K = K + 1
        dArr(K, 1) = K
        For J = 2 To 20
            dArr(K, J) = sArr(I, J)
        Next J
    End If
    Next I
    End If
Next Ws
    For J = 1 To 20
        dArr(1, J) = tArr(1, J)
    Next J
    ReDim sArr(1 To K, 1 To 20)
    For I = 2 To K
    For J = 5 To 20
        If dArr(1, J) = DK Then
            If dArr(I, J) <> Empty Then
                T = T + 1
                sArr(T, 1) = T
                For Z = 2 To 20
                    sArr(T, Z) = dArr(I, Z)
                Next Z
            End If
        End If
    Next J
    Next I
With Sheets("Loc")
    .Range("A7").Resize(10000, 20).ClearContents
    If T Then .Range("A7").Resize(T, 20).Value = sArr
End With
Application.ScreenUpdating = True
End Sub
Anh ơi, sao trong sheet Lọc không hiển thị danh sách những học sinh thỏa mãn điều kiện mà chỉ có số lượng thôi ah? Ai giúp em với
 
Upvote 0
Là sao? Bạn có biết chạy code không? Thỏa điều kiện gì nữa đây???
Anh copy code anh dán vào đâu, anh có thể hướng dẫn giúp được k ạ? Em dán code vào rồi, nhưng mỗi lần chọn điều kiện xong lại phải alt+f8 rồi run ah?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn đăng vào mục lập trình --> Tưởng biết rằng bạn cũng đã biết cách chạy code VBA... Nhưng rằng....bạn chưa biết... (Tại sao không hỏi ngay vấn đề mà bi giờ mới hỏi?)

1. Alt+F11 -> Của sổ VBA mở ra. Đưa trỏ chuột vào vùng VBAProject (bên phải cửa sổ VBA). Click Chuột Fải/Insert/Module: Copy và Paste đoạn Code trên vào Module1 vừa tạo nay => Trở lại cứa sổ File Excel
2. Tại sheet LOC -> Alt+F8, chạy sub GPE -> Có kết quả

Chú ý: Máy bạn fải được enable macro. Cách làm xem link sau: http://www.giaiphapexcel.com/forum/...ẫn-Enable-Macros-trong-Excel-(2003-2007-2010)
Khổ ghê, đoạn trên thì em biết, ý em hỏi anh là mỗi lần chọn tiêu chí ở B4 xong, lại phải alt+f8 rồi chọn run để chạy code ah, không phải ta chọn tiêu chí ở B4 xong thì code tự chạy ra danh sách sao ạ?
 
Upvote 0
Web KT

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

Back
Top Bottom