Hỏi cách lọc danh sách HS theo lớp

Liên hệ QC
Nhưng chắc là Bác SA mà nói thì là có.
BAB lại quá nặng lời với mình rồi!
Cái này mình nghe ai đó trên diễn đàn nói, mình nói lại thôi
Cũng là phỏng chừng vậy thôi chứ không khẳng định được;
Trên cơ sở
PHP:
 For jJ = 1 to 9
     MsgBox "XIN CHÚC MỪNG THÀNH CÔNG!"
 Next jJ
Cái chữ jJ cuối đó làm mình cho là vị đó nói đúng hơn BAB
BAB thông cảm & tìm cách khẳng định thêm xem sao, nha!
 
cái vụ này để em xem lại vì chưa thử nghiệm lại xem cái For... Next (or Do...Loop) có tính lại giá trị sau To hay không. Nhưng chắc là Bác SA mà nói thì là có.

Giả định cột A:A không có dữ liệu, khi kích đoạn code này chạy thì giá trị ô A1 là 1, A2 là 2
Khi kích chạy lần 2, lần 3, .... lần n thì hiểu ngay mà.
Mã:
Sub TEST()
For I = 1 To Sheets("SHEET1").Range("A65000").End(xlUp).Row+1
Sheets("SHEET1").Cells(I, 1) = I
Next I
End Sub

Suy ra sau to thì không tính lại giá trị, chỉ tính lại khi vòng lập được chạy lại. Như vậy, khi nạp tham số vào, đầu tiên VB sẽ xác lập tham số đầu và cuối vào vòng lặp For..next trước rồi mới làm các động tác tiếp theo. Nếu For..Next tính lại giá trị sau To, thì đoạn code trên sẽ lặp lại đến 65001 lần mới thôi à??

Đây cũng là sự khác biệt giữa For...Next và Do..Loop, nếu không có sự khác biệt thì mắc gì ông Microsoft lập ra hai dạng thức này??
 
Lần chỉnh sửa cuối:
Hỏi thêm mấy huynh về chuyện lọc.
Nếu mình thêm 1 sheet (sheet: Hocphi - sheet này chỉ lọc họ tên và cột học phí). Sheet hocphi mình cũng muốn lọc theo lớp như "sheet TH", thì trong Define name mình phải add thêm các công thức tương tự (tất nhiên phải thay đổi tên sheet) hay có thể viết chung một công thức khác mà có thể lọc dữ liệu ở cả TH và Hocphi.
Nhờ các huynh chỉ giáo.
 
Hỏi thêm mấy huynh về chuyện lọc.
Nếu mình thêm 1 sheet (sheet: Hocphi - sheet này chỉ lọc họ tên và cột học phí). Sheet hocphi mình cũng muốn lọc theo lớp như "sheet TH", thì trong Define name mình phải add thêm các công thức tương tự (tất nhiên phải thay đổi tên sheet) hay có thể viết chung một công thức khác mà có thể lọc dữ liệu ở cả TH và Hocphi.
Nhờ các huynh chỉ giáo.

Tham khảo cách lập bảng thu tiền trong phần chữ ký của tôi
"Hỗ trợ công tác chủ nhiệm lớp" pas UnProtect sheet:4b1b7b1b1b5b3
 
Lần chỉnh sửa cuối:
Vào Insert \ Name \ Define trong file của bác em phát hoảng, mượn file của bác em chỉnh sửa chút (chỉ cần duy nhất 2 name), dung lượng file giảm đáng kể [từ 162 KB (166,400 bytes) giảm xuống còn 88.5 KB (90,624 bytes) ]

có thể dùng INDEX + MATCH, hoặc VLOOKUP, hoặc OFFSET


Bài bác viết khá hay, nhung sheet data phải sắp xếp theo lớp hả, nếu kg kết quả lọc sẽ sai.
có cách nào kg cần sắp xếp kg?
 
mấy anh chỉ rỏ dùm em làm cái chổ mà chon cái lớp thì nó tự nhảy được không. em cũng đang cần làm 1 file giống như trên vậy
 
xin ad lọc ds lớp bằng vba cho file này giùm (mình ko biết gì về vba hết)
 

File đính kèm

  • DANH SÁCH LỚP.xls
    92 KB · Đọc: 45
xin ad lọc ds lớp bằng vba cho file này giùm (mình ko biết gì về vba hết)

Paste code này vào sheet2 (Chon Lop)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$4" Then
    Range("H5").Value = Range("I4").Value
    Sheet1.Range("A7:F1000").AdvancedFilter 2, Range("H4:H5"), Range("A7:F7")
End If
End Sub
 
Mình góp thêm 1 cách bằng hàm nhưng không sắp xếp được thứ tự
Trong sheet tổng hợp

B1=IF(ROWS(th!$B$7:$B7)<=COUNTIF(ds!$C$2:$C$124;th!$J$5);INDEX(OFFSET(ds!$C$1;MATCH(th!$J$5;ds!$C$2:$C$124;0);;COUNTIF(ds!$C$2:$C$124;th!$J$5);8);ROWS(th!$B$7:$B7);2);"")

C1=IF(ROWS(th!$B$7:$B7)<=COUNTIF(ds!$C$2:$C$124;th!$J$5);INDEX(OFFSET(ds!$C$1;MATCH(th!$J$5;ds!$C$2:$C$124;0);;COUNTIF(ds!$C$2:$C$124;th!$J$5);8);ROWS(th!$B$7:$B7);3);"")
 
Lọc bằng Filter cho nó nhanh đỡ phức tạp. Công thức tổng dùng SUBTOTAL. Nhanh, gọn, đẽ hiểu.
 
Xin cam on ad. Minh copy doan ma dan vo, nhung stt no khong sap xep duoc. Ad co the lam gium minh 1 cach hoan chinh di. Cam on ad nhieu.
 

File đính kèm

  • LocDS_LOP.xls
    158 KB · Đọc: 11
ad loc gium file mẫu danh sách lớp giùm. cam on ad nhieu lam.
 

File đính kèm

  • mau loc danh sach lop.xls
    158 KB · Đọc: 16
xin ad loc gium em file nay cho hoan chinh, xin cam on ad nhieu lam.
 

File đính kèm

  • mau loc danh sach lop.xls
    158 KB · Đọc: 25
Em muốn lọc danh sách học sinh cấp 1, cấp 2, cấp 3 thì phải làm như thế nào các anh chị? Em không chuyên về excell
bandicam 2016-06-09 11-22-43-943.jpg
 
Em muốn lọc danh sách học sinh cấp 1, cấp 2, cấp 3 thì phải làm như thế nào các anh chị? Em không chuyên về excell
Bạn nên đưa file mẫu thì sẽ được trợ giúp nhé, ở đây mà bạn đưa file hình ảnh như vậy thì không ai rãnh mà ngồi gõ lại dữ liệu cho bạn.+-+-+-+:=\+
 
Bạn nên đưa file mẫu thì sẽ được trợ giúp nhé, ở đây mà bạn đưa file hình ảnh như vậy thì không ai rãnh mà ngồi gõ lại dữ liệu cho bạn.+-+-+-+:=\+
Cảm ơn bạn, hình ảnh này là ví dụ thôi, mình muốn nhờ mọi người chỉ cho mình công thức để mình làm trên file khác. File đó còn đang dở dang và chưa nhập hết danh sách.
 
Cảm ơn bạn, hình ảnh này là ví dụ thôi, mình muốn nhờ mọi người chỉ cho mình công thức để mình làm trên file khác. File đó còn đang dở dang và chưa nhập hết danh sách.

File giả lập không cần đủ số lượng; Miễn chất lượng nó đủ đầy!
Có nghĩa là lớp nào cũng có & cấp nào cũng có, đa dạng nhưng không nhiều về số liệu.
 
Paste code này vào sheet2 (Chon Lop)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$4" Then
    Range("H5").Value = Range("I4").Value
    Sheet1.Range("A7:F1000").AdvancedFilter 2, Range("H4:H5"), Range("A7:F7")
End If
End Sub
Bạn cho mình hỏi code này không sắp xếp số thứ tự. Giờ muốn sắp xếp số thứ tự thì điều chỉnh code như thế nào vậy bạn.
 
Web KT
Back
Top Bottom