我是一名校长,我正在用excel开发一个调度管理应用程序。
我每堂课有一张纸,每一位老师有一张。
所有的纸张都是相同的,并且在相同的坐标上有重要的信息。
现在,我已经能够把课程表复制到老师的课程表上了,这就像一种魅力。我制定学生的时间表,它自动使老师的时间表。
现在我有点问题了。
如果我指派一位老师,我们假设星期一8点半到1节课,然后错误地把同一位老师分配到另一堂课,它与第一节课重叠,并把第一节课交给老师。上周,同一位老师同时被分配到两个班。
所以我的问题是:
是否有一种方法(在单元格更改上)使vba脚本能够检查单元格b29在其他工作表上是否具有相同的值,而不管工作表的位置和名称如何?
例:
我将教师A分配给1班-星期一8.30,其中教师名和日期/小时为单元格B29,类为单元格d5和工作表名。
如果我在另一堂课上指派同一位老师给b29 If,他会显示一个信息框,上面写着“有重叠”。
我最大的麻烦是,每年班组和教师都会改变,而纸张的相对位置也会因为课程的年份和课程/班级的数量而变化,
谢谢!
发布于 2017-09-10 11:41:14
我认为代码应该是这样的:将此代码复制到工作表(代码):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B29")) Is Nothing Then
If Selection.Cells.Count = 1 Then
Result = getTime(Range("B29").Value)
End If
End If
End Sub将此代码复制到Module1
Function getTime(TimeAdd As Date)
For Each ws In Worksheets
If ws.Name <> ActiveSheet.Name Then
If ws.Range("B29").Value = TimeAdd Then
Result = True
Exit For
End If
End If
Next
If Result = True Then MsgBox "There is an overlap."
End Function希望能帮上忙
https://stackoverflow.com/questions/46139962
复制相似问题