No.1
学校工作中,排课是一项基本的工作。
一个高效的排课管理,可以使教学工作快速有序进行。
上图为排课结果,以及查询页。
单击任意列表框内容,可以方便查看其关键字段的排课情况。
上图为排课操作页。
选择教师、班级、课程等内容,确定便可。
操作十分简单。
如此简单的原因,背后有一些代码支持其正确处理数据。
下文有一些代码,供参考学习。
下图为课程表,可以查看某一班级,某个日期排课情况。
No.2
选择一些代码,做个示范。
添加排课:
Private Sub CommandButton1_Click()Dim S As WorksheetSet S = ThisWorkbook.Worksheets("teaching")Dim R As RangeSet R = S.UsedRangeSet R = R.Offset(1, 0).Resize(R.Rows.Count - 1, R.Columns.Count)Dim ArrXArrX = Range("C2:C6").ValueS.ActivateDim i As Integer, n As Integer, InOut As Booleann = R.Rows.CountInOut = FalseFor i = 1 To n If ArrX(2, 1) = R.Cells(i, 3).Value _ And ArrX(3, 1) = R.Cells(i, 4).Value _ And ArrX(4, 1) = R.Cells(i, 5).Value _ And ArrX(5, 1) = R.Cells(i, 6).Value Then '3找到班级 判断课程 '5找到课程 判断课时 '4找到课时 判断星期 InOut = True Exit For End IfNext iIf InOut Then MsgBox "已经设置成功!", vbInformation, "提示"Else SetCurr ArrX, R '调用过程 添加排课内容 MsgBox "排课成功!", vbInformation, "提示"End IfEnd Sub
添加排课过程:
Private Sub SetCurr(ArrX, Rx) '添加排课With Rx.Offset(Rx.Rows.Count, 1).Resize(1, Rx.Columns.Count - 1) .Value = Application.WorksheetFunction.Transpose(ArrX) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter With .Previous .Formula = "=Row()-1" .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End WithEnd WithEnd Sub
排课实际很简单,但是针对多个班级和多个教师的情况下,一些判断逻辑比较多。
再加上每个星期某一天和某一天的第几节课,整个判断下来有4种以上的逻辑。
所以,把这些逻辑弄清楚了,程序自然就简单了。
图文介绍可能不是十分直观,下面做一个视频,更详细地演示一下。
、收藏。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!