Hỗ trợ sắp xếp thời khóa biểu cho giáo viên

Liên hệ QC

Nguyenhoangphong0902

Đường trần muôn vạn ngã ba.........
Tham gia
27/7/21
Bài viết
56
Được thích
22
Em chào các anh chị, em có bài tập sắp xếp thời khóa biểu nhờ anh chị hỗ trợ giúp.

Sheet: Sáng là data của em. Còn Sheet: KQ: là kết quả mong muốn thứ nhất của em.

Mong muốn thứ 2 của em ( là tạo 1 InputBox) em gõ: TOÁN - Đạo thì sẽ ra kết quả thời khóa biểu của giáo viên Đạo dạy Toán. Tương tự em gõ giáo viên nào thì ra thời khóa biểu của giáo viên đó.

Em mong nhận được sự hỗ trợ của các anh chị. Em cảm ơn.
Bài đã được tự động gộp:

Em xin lỗi nhé anh chị. Trong file đính kèm thì Sheet KQ, bị thiếu ngày thứ 7. Để em bổ sung lại KQ, ngày thứ 7 ạ.
 

File đính kèm

  • tiết học.xlsb
    13.9 KB · Đọc: 5
  • KQ-new.JPG
    KQ-new.JPG
    57.2 KB · Đọc: 7
Lần chỉnh sửa cuối:
Em chào các anh chị, em có bài tập sắp xếp thời khóa biểu nhờ anh chị hỗ trợ giúp.

Sheet: Sáng là data của em. Còn Sheet: KQ: là kết quả mong muốn thứ nhất của em.

Mong muốn thứ 2 của em ( là tạo 1 InputBox) em gõ: TOÁN - Đạo thì sẽ ra kết quả thời khóa biểu của giáo viên Đạo dạy Toán. Tương tự em gõ giáo viên nào thì ra thời khóa biểu của giáo viên đó.

Em mong nhận được sự hỗ trợ của các anh chị. Em cảm ơn.
Bài đã được tự động gộp:

Em xin lỗi nhé anh chị. Trong file đính kèm thì Sheet KQ, bị thiếu ngày thứ 7. Để em bổ sung lại KQ, ngày thứ 7 ạ.
Nếu bạn muốn dùng bằng VBA thì hãy dùng thử file này trong khi chờ các giải pháp khác.
Trong file tôi làm không có inputbox mà có list ở ô D5 sh KQ, ở đó sẽ có 1 list các môn học và giáo viên dạy môn đó bạn chọn 1 dòng thì sẽ có ngay kết quả của giáo viên đó đảm nhiệm dạy lớp nào trong tuần. Ô đó sẽ được tô màu.
Khi bạn thay đổi dữ liệu của sh Sáng thì List dố cũng sẽ tự động được cập nhật
code TKB củ chuối như sau:
Mã:
Sub TKB()
Dim i&, j&, Lr&, t&, k&
Dim Arr(), KQ(), S
S = Array(, 2, 7, 12, 17, 22, 27)
ReDim KQ(1 To 5, 1 To 6)
For t = 1 To UBound(S)
Arr = Sheet1.Range("C" & S(t), "M" & S(t) + 4).Value
R = UBound(Arr, 1): C = UBound(Arr, 2)
For i = 1 To R
    For j = 1 To C
        If Arr(i, j) = Sheets("KQ").Range("D5") Then
            KQ(i, t) = Sheet1.Cells(1, j + 2)
        End If
    Next j
Next i
Next t
Sheets("KQ").Range("B8").Resize(5, 6) = KQ
End Sub
Xem file
 

File đính kèm

  • tiết học.xlsb
    29.1 KB · Đọc: 24
Upvote 0
Web KT

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

Back
Top Bottom