|
几个都写了,所有老师的课表都生成在教师课表中,所有班的课表都在班级课表中
Sub 生成教师课表()
Application.DisplayAlerts = 0
Dim sht, d, ar()
On Error Resume Next
Set sht = Sheets("教师课表")
If Err = Empty Then sht.Delete
Set sht = Sheets.Add(, Sheets(Sheets.Count))
sht.Name = "教师课表"
On Error GoTo 0
Set d = CreateObject("scripting.dictionary")
ar = Sheets("表1").[C4:ba12].Value
For i1% = 2 To UBound(ar, 2)
If ar(1, i1) = 1 Then xq = xq% + 1
For i2% = 2 To UBound(ar)
d(ar(1, i1) & "|" & ar(i2, i1)) = d(ar(1, i1) & "|" & ar(i2, i1)) & "、" & xq & "-" & ar(i2, 1)
Next i2, i1
ar = Sheets("表2").[a2:l10].Value
For i1 = 1 To UBound(ar)
With sht
Sheets("样表").Range("a1:g13").Copy .Cells(r% + 1, 1)
.Cells(r% + 2, 7) = ar(i1, 1)
For i2 = 3 To UBound(ar, 2)
If ar(i1, i2) <> "" Then
For Each stmp In Split(Mid(d(ar(i1, i2) & "|" & ar(i1, 2)), 2), "、")
.Cells(Right(stmp, 1) * 1 + 4 + r, Left(stmp, 1) * 1 + 2) = "七(" & ar(i1, i2) & ")"
Next
End If
Next
r = r + 15
End With
Next
Application.DisplayAlerts = 1
End Sub
Sub 删除教师课表()
Application.DisplayAlerts = 0
Dim sht
On Error Resume Next
Set sht = Sheets("教师课表")
If Err = Empty Then sht.Delete
On Error GoTo 0
Application.DisplayAlerts = 1
End Sub
Sub 生成班级课表()
Application.DisplayAlerts = 0
Dim sht
On Error Resume Next
Set sht = Sheets("班级课表")
If Err = Empty Then sht.Delete
Set sht = Sheets.Add(, Sheets(Sheets.Count))
sht.Name = "班级课表"
On Error GoTo 0
For i1% = 1 To 10
With sht
Sheets("样表2").Range("a1:g14").Copy .Cells(r% + 1, 1)
.Cells(r% + 2, 6) = "(" & Sheets("表1").Cells(4, i1 + 3) & ")"
For i2% = 1 To 5
.Cells(r% + 5, i2 + 2).Resize(5) = Sheets("表1").Cells(5, i1 - 7 + i2 * 10).Resize(5).Value
.Cells(r% + 11, i2 + 2).Resize(4) = Sheets("表1").Cells(10, i1 - 7 + i2 * 10).Resize(4).Value
Next
r = r + 16
End With
Next
Application.DisplayAlerts = 1
End Sub
Sub 删除班级课表()
Application.DisplayAlerts = 0
Dim sht
On Error Resume Next
Set sht = Sheets("班级课表")
If Err = Empty Then sht.Delete
On Error GoTo 0
Application.DisplayAlerts = 1
End Sub
|
评分
-
查看全部评分
|