Hỏi cách lọc danh sách HS theo lớp (2 người xem)

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

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

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
 
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

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.
 
Thử thêm 1 dòng này trên End If
PHP:
Range("A8", Range("A8").End(xlDown)) = "=Row()-7"
Dạ, vâng. Stt đã được. Thầy cho em hỏi thêm là đa số danh sách thường có dòng cuối là: Danh sách này có.....học sinh. Vậy có cách nào lọc được danh sách và đếm số học sinh được không thầy. Nếu lớp 1A có 50 học sinh thì dòng cuối sẽ là: Danh sách này có 50 học sinh. Em xin cám ơn thầy ạ.
 
Web KT

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

Back
Top Bottom