Giúp đỡ tách điểm theo lớp

Liên hệ QC

buithinhvan77

Thành viên thường trực
Tham gia
18/8/10
Bài viết
268
Được thích
137
Mình có 1 file điểm của cả khối (khoảng 220 HS), muốn được tách ra các Sheet điểm riêng từng lớp (mối lớp tối đa 45 HS)
Dùng Lọc sồi sắp sếp theo STT của HS cũng được nhưng muốn dùng VBA tách cho nhanh nên nhờ các ae giúp!
 

File đính kèm

  • Tách điểm theo lớp.xlsx
    34.5 KB · Đọc: 23
Mình có 1 file điểm của cả khối (khoảng 220 HS), muốn được tách ra các Sheet điểm riêng từng lớp (mối lớp tối đa 45 HS)
Dùng Lọc sồi sắp sếp theo STT của HS cũng được nhưng muốn dùng VBA tách cho nhanh nên nhờ các ae giúp!
Bạn nên kiểm tra lại dữ liệu, xử lý ổn ổn rồi gửi lại lên nhé.
 
Mình có 1 file điểm của cả khối (khoảng 220 HS), muốn được tách ra các Sheet điểm riêng từng lớp (mối lớp tối đa 45 HS)
Dùng Lọc sồi sắp sếp theo STT của HS cũng được nhưng muốn dùng VBA tách cho nhanh nên nhờ các ae giúp!
Xem file nhé bạn
 

File đính kèm

  • Tach diem theo lơp.xlsb
    27.8 KB · Đọc: 33
Giáo dục gì nhìn cái bảng bắt khiếp.

Mà chỉ có mấy lớp, làm tay còn nhanh hơn viết code.
Do HS nghỉ dich thi Online nên điểm cả khối sẽ được tổng hợp trên 1 file, giờ phải lọc theo lớp.
Mình vẫn làm thủ công rồi nhưng mỗi lớp vừa lọc, sắp sếp mất khoảng 1 phút => 20 lớp mất 20 phút mà khoảng chục môn cơ, nên nếu có Code thì vẫn cứ nhàn hơn nhiều
Bài đã được tự động gộp:

Cảm ơn bạn rất nhiều, đúng ý mình rồi
Bài đã được tự động gộp:

Bạn nên kiểm tra lại dữ liệu, xử lý ổn ổn rồi gửi lại lên nhé.
Cảm ơn bạn
 
Do HS nghỉ dich thi Online nên điểm cả khối sẽ được tổng hợp trên 1 file, giờ phải lọc theo lớp.
Mình vẫn làm thủ công rồi nhưng mỗi lớp vừa lọc, sắp sếp mất khoảng 1 phút => 20 lớp mất 20 phút mà khoảng chục môn cơ, nên nếu có Code thì vẫn cứ nhàn hơn nhiều
Tay khác với code:
Code của người ta, nó chạy nhanh chậm do người ta viết.
Tay là tự mình làm, muốn nhanh thì sẽ tự học cách làm được nhanh.
 
Mình có 1 file điểm của cả khối (khoảng 220 HS), muốn được tách ra các Sheet điểm riêng từng lớp (mối lớp tối đa 45 HS)
Dùng Lọc sồi sắp sếp theo STT của HS cũng được nhưng muốn dùng VBA tách cho nhanh nên nhờ các ae giúp!
Xem thử File.
Lưu ý: Nhớ nhấn nút Xóa Lớp Tách trước khi nhấn nút Tách lớp.
 

File đính kèm

  • Tách lớp.xlsm
    48 KB · Đọc: 19
Chị Thương hôm nay biết viết hàm con luôn!
đơn giản thì chế biến được sư phụ. còn phức tạp thì dùng chiêu khác. không nhất thiết phải VBA.
sư phụ xem co chỉnh cót két chỗ mô không thì góp ý cho học trò nâng cao kiến thức
 
đơn giản thì chế biến được sư phụ. còn phức tạp thì dùng chiêu khác. không nhất thiết phải VBA.
sư phụ xem co chỉnh cót két chỗ mô không thì góp ý cho học trò nâng cao kiến thức
Thêm 1 câu lệnh chuyển cột TT ra ngoài cùng
Một câu lệnh nữa sort theo thứ tự cột TT
Mà tại sao phải tách ra 2 sub mỗi sub là 1 vòng lặp? Gộp lại và dùng 1 vòng lặp thôi
 
Lần chỉnh sửa cuối:
đơn giản thì chế biến được sư phụ. còn phức tạp thì dùng chiêu khác. không nhất thiết phải VBA.
sư phụ xem co chỉnh cót két chỗ mô không thì góp ý cho học trò nâng cao kiến thức
Xem code 1 vòng lặp
PHP:
Sub CreatDataSheet()
Dim Item, Items As Range
Dim LastRw As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Items = Sheet1.Range("D9:D5000")
    For Each Item In UniqueList(Items)
        If SheetExists(CStr(Item)) = False Then
            Sheets.Add(After:=Sheets(Sheets.Count)).Name = CStr(Item)
            With ActiveSheet
              .Range("A1") = Sheets("Data").[D8]
              .Range("A2").Value = .Name
              Sheets("Data").Range("A8:E5000").AdvancedFilter 2, .Range("A1:A2"), .Range("A8"), False
              .Columns("E:E").Cut: .Columns("A:A").Insert
              LastRw = .[A1000].End(xlUp).Row
              .Range("A8:E" & LastRw).Sort Key1:=.Range("A8"), Order1:=xlAscending, Header:=xlYes
            End With
        End If
    Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom