Lọc danh sách sinh viên thi lại Theo môn sử dụng VBA

Liên hệ QC

thoht

Thành viên mới
Tham gia
23/4/14
Bài viết
11
Được thích
0
Em có bảng điểm TK theo học KÌ nhờ các anh chị hướng dẫn chi tiết cách lọc các môn thi lại sử dụng VBA vì em có 1 bảng dữ liệu gồm nhiều môn. Cho em danh sách thi lại theo từng môn
 

File đính kèm

  • Cao đẳng Điều dưỡng 14A.xls
    130 KB · Đọc: 20
Chủ từ của "sử dụng VBA" là gì?

Chắc chắn là có kẻ cần thi lại môn Việt Văn.
Chắc là nhờ hướng dẫn cách lọc nhưng sử dụng VBA, dùng VBA, viết code VBA. Tóm lại là nhờ viết hộ code VBA, hoặc hướng dẫn, gợi ý chi tiết.
 
Chắc là nhờ hướng dẫn cách lọc nhưng sử dụng VBA, dùng VBA, viết code VBA. Tóm lại là nhờ viết hộ code VBA, hoặc hướng dẫn, gợi ý chi tiết.
Theo tôi cách hiểu như anh batman1 là hợp lý nhất, xin phép xoá những bài khác để người khác tham gia giải bài.
 
Theo tôi cách hiểu như anh batman1 là hợp lý nhất, xin phép xoá những bài khác để người khác tham gia giải bài.
Muốn "người khác tham gia giải bài" cũng nên có đầu ra mong muốn. Ví dụ tôi muốn kết quả như thế này, như thế này....
 
Muốn "người khác tham gia giải bài" cũng nên có đầu ra mong muốn. Ví dụ tôi muốn kết quả như thế này, như thế này....
Tôi hơi khó tính. Tại sao người hỏi cứ bắt người sẽ giúp mình phải đoán? Hãy chỉ ra các môn học khác nhau là gì, ở những cột nào. Hãy mô tả rõ quá trình lọc bằng tay: xét cái gì ở cột nào, theo qui luật nào, để đi tới kết quả cuối cùng. Và cấu trúc của kết quả như thế nào. Tốt nhất là tự điền bằng tay kết quả cho dữ liệu đầu vào như trong tập tin.
 
Muốn "người khác tham gia giải bài" cũng nên có đầu ra mong muốn. Ví dụ tôi muốn kết quả như thế này, như thế này....
Bắt học sinh đoán quen rồi.
Vả lại, nếu lô gic rõ quá thì về sau sửa (điểm) khó lắm.

Tôi hơi khó tính. Tại sao người hỏi cứ bắt người sẽ giúp mình phải đoán? Hãy chỉ ra các môn học khác nhau là gì, ở những cột nào. Hãy mô tả rõ quá trình lọc bằng tay: xét cái gì ở cột nào, theo qui luật nào, để đi tới kết quả cuối cùng. Và cấu trúc của kết quả như thế nào. Tốt nhất là tự điền bằng tay kết quả cho dữ liệu đầu vào như trong tập tin.
Xanh: học sinh học chứ có phải tôi đâu mà biết khác nhau.
Vàng: sếp muốn làm nhưng đâu có giải thích quy luật (hu hu)
 
em muốn xuất danh sách sinh viên thi lại theo từng môn ở 1 sheet khác gồm: STT, Họ và tên, Ngày tháng năm sinh, môn thi lại. Môn thi lại là sinh viên có điểm tổng kết môn học <4. Do e lần đầu mày mò VBA nên em chưa diễn đạt tốt mong các anh chị thông cảm
 
em muốn xuất danh sách sinh viên thi lại theo từng môn ở 1 sheet khác gồm: STT, Họ và tên, Ngày tháng năm sinh, môn thi lại. Môn thi lại là sinh viên có điểm tổng kết môn học <4. Do e lần đầu mày mò VBA nên em chưa diễn đạt tốt mong các anh chị thông cảm
Anh làm 1 bản mẫu kết quả anh mong muốn từ bảng dữ liệu rồi gửi lên đây đi
 
Biểu mẫu em mong muốn đây ạ
 

File đính kèm

  • Cao đẳng Điều dưỡng 14A.xls
    136 KB · Đọc: 13
Biểu mẫu em mong muốn đây ạ
Capture.PNG
- Bảng kết quả của anh cần lọc những sinh viên nào có dữ liệu tại cột "Số môn không đạt" >0 đúng không ạ?
- Với các môn học thì số điểm thỏa mãn điều kiện nào thì bị tính là thi lại?
 
Em muốn lọc danh sách sinh viên thi lại theo từng môn: Gồm có TT, Mã sv, Họ và tên, Môn thi lại. Dựa vào điểm TKHP hệ 10: Nếu điểm tổng kết dưới 4 thì thi lại
 
Em muốn lọc danh sách sinh viên thi lại theo từng môn: Gồm có TT, Mã sv, Họ và tên, Môn thi lại. Dựa vào điểm TKHP hệ 10: Nếu điểm tổng kết dưới 4 thì thi lại
Bạn muốn nhưng bạn không giải thích rõ, Xét trong sheet nào, các cột nào <4, lấy tên môn là cột nào....
Một SV thi lại bao nhiêu môn thì có kết quả bấy nhiêu dòng?
 
Em cần xét trong Sheet điểm tín chỉ
Các cột có điểm TKHP <4: M,Q,U,Y, AC,AG
Một sinh viên thi lại 1 môn thì sẽ có kết quả trên 1 dòng sắp xếp theo thứ tự các môn học
 
Em cần xét trong Sheet điểm tín chỉ
Các cột có điểm TKHP <4: M,Q,U,Y, AC,AG
Một sinh viên thi lại 1 môn thì sẽ có kết quả trên 1 dòng sắp xếp theo thứ tự các môn học
Tiêu đề nên viết rõ là: "Dùng VBA, lọc danh sách Sinh viên Thi lại từng Môn"
Môn YSDK07_Giáo dục quốc phòng (3) không có cột TKHP nên không xét.
Cột Ngày sinh chứa Text nên kết quả là Text, không phải Date.
 

File đính kèm

  • Cao đẳng Điều dưỡng 14A.xlsm
    50.6 KB · Đọc: 26
Public Sub s_Gpe()
Const CoLs As Long = 36, TKHP As String = "TKHP"
Dim sArr(), dArr(), I As Long, J As Long, K As Long, N As Long, R As Long, Mon As String
sArr = Sheets("Diem_TChi").Range("A7", Sheets("Diem_TChi").Range("A10").End(xlDown)).Resize(, CoLs).Value
R = UBound(sArr)
ReDim dArr(1 To R * 6, 1 To 6)
For I = 4 To R
For J = 13 To CoLs Step 4
If sArr(I, J) < 4 Then
K = K + 1
dArr(K, 1) = K
For N = 2 To 5
dArr(K, N) = sArr(I, N)
Next N
Mon = Split(sArr(1, J), "_")(1)
dArr(K, 6) = Left(Mon, Len(Mon) - 4)
End If
Next J
Next I
With Sheets("DS_ThiLai")
.Range("A5").Resize(K, 6) = dArr
End With
End Sub
Anh có thể quay video hướng dẫn cách làm được không ạ. Em mới làm quen nên phần code này em chưa hiểu lắm ạ
 
Public Sub s_Gpe()
Const CoLs As Long = 36, TKHP As String = "TKHP"
Dim sArr(), dArr(), I As Long, J As Long, K As Long, N As Long, R As Long, Mon As String
sArr = Sheets("Diem_TChi").Range("A7", Sheets("Diem_TChi").Range("A10").End(xlDown)).Resize(, CoLs).Value
R = UBound(sArr)
ReDim dArr(1 To R * 6, 1 To 6)
For I = 4 To R
For J = 13 To CoLs Step 4
If sArr(I, J) < 4 Then
K = K + 1
dArr(K, 1) = K
For N = 2 To 5
dArr(K, N) = sArr(I, N)
Next N
Mon = Split(sArr(1, J), "_")(1)
dArr(K, 6) = Left(Mon, Len(Mon) - 4)
End If
Next J
Next I
With Sheets("DS_ThiLai")
.Range("A5").Resize(K, 6) = dArr
End With
End Sub
Anh có thể quay video hướng dẫn cách làm được không ạ. Em mới làm quen nên phần code này em chưa hiểu lắm ạ

mới làm quen mà muốn hiểu cái này thì vất vả lắm.
 
Web KT
Back
Top Bottom