Nhờ anh chị hỗ trợ code vba lọc thời khóa biểu giáo viên và lớp giúp em nhưng chưa hiểu rõ mong anh chị giải thích dùm để em hoàn thiện hơn ! Em đã gửi lại file đính kèm rõ ràng hơn !
code này em tham khảo để áp dụng
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Vung, Wf, MgKq(1 To 5, 1 To 6), Lop, I, Dk, A, Tam, iCot, iHang, Dkk, TkbLop(1 To 5, 1 To 6), Rng
Set Rng = Union([AF4], [AF18]) 'o nhap ten gv va ten lop
Set Wf = Application.WorksheetFunction
Set Vung = [D4:X53] 'vung du leu
Set Lop = [C2:X2] 'vung ten lop
If Not Intersect(Target, Rng) Is Nothing Then
If Target.Address = "$AF$3" Then
For I = 1 To Vung.Rows.Count
If Wf.CountIf(Vung.Rows(I), Target) Then
A = Wf.Match(Target, Vung.Rows(I), 0)
Tam = Vung(I, A - 1) & " - " & Lop(A - 2)
iCot = Int((I - 1) / 5) + 1: iHang = Vung(I, 1)
MgKq(iHang, iCot) = Tam
End If
Next I
[AD6].Resize(5, 6) = MgKq: [AH3] = Wf.CountIf(Vung, Target)
ElseIf Target.Address = "$AF$14" Then
If Target.Count = 1 Then
A = Wf.Match(Target, Lop, 0)
For I = 1 To Vung.Rows.Count
iCot = Int((I - 1) / 5) + 1: iHang = Vung(I, 1)
TkbLop(iHang, iCot) = Vung(I, A + 1)
Next I
End If
[AD17].Resize(5, 6) = TkbLop: [AH14] = Wf.CountA(Vung.Columns(A + 1)) & " tiet"
End If
End If
End Sub
-Mục đích: em muốn lọc thời khóa biểu của từng giáo viên và từng lớp ở sheet TKB bằng sự kiện trên và in kết quả sang sheet LOC_TKB_GV_LOP khi nhập tên giáo viên , tên lớp ở sheet TKB .
Chân thành cảm ơn tất cả các a chị !
code này em tham khảo để áp dụng
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Vung, Wf, MgKq(1 To 5, 1 To 6), Lop, I, Dk, A, Tam, iCot, iHang, Dkk, TkbLop(1 To 5, 1 To 6), Rng
Set Rng = Union([AF4], [AF18]) 'o nhap ten gv va ten lop
Set Wf = Application.WorksheetFunction
Set Vung = [D4:X53] 'vung du leu
Set Lop = [C2:X2] 'vung ten lop
If Not Intersect(Target, Rng) Is Nothing Then
If Target.Address = "$AF$3" Then
For I = 1 To Vung.Rows.Count
If Wf.CountIf(Vung.Rows(I), Target) Then
A = Wf.Match(Target, Vung.Rows(I), 0)
Tam = Vung(I, A - 1) & " - " & Lop(A - 2)
iCot = Int((I - 1) / 5) + 1: iHang = Vung(I, 1)
MgKq(iHang, iCot) = Tam
End If
Next I
[AD6].Resize(5, 6) = MgKq: [AH3] = Wf.CountIf(Vung, Target)
ElseIf Target.Address = "$AF$14" Then
If Target.Count = 1 Then
A = Wf.Match(Target, Lop, 0)
For I = 1 To Vung.Rows.Count
iCot = Int((I - 1) / 5) + 1: iHang = Vung(I, 1)
TkbLop(iHang, iCot) = Vung(I, A + 1)
Next I
End If
[AD17].Resize(5, 6) = TkbLop: [AH14] = Wf.CountA(Vung.Columns(A + 1)) & " tiet"
End If
End If
End Sub
-Mục đích: em muốn lọc thời khóa biểu của từng giáo viên và từng lớp ở sheet TKB bằng sự kiện trên và in kết quả sang sheet LOC_TKB_GV_LOP khi nhập tên giáo viên , tên lớp ở sheet TKB .
Chân thành cảm ơn tất cả các a chị !
File đính kèm
Lần chỉnh sửa cuối: