我正在尝试循环查看每个员工的名册,并自动将他们安排到一个免费会议中。其中一部分是计算当前单元格(会话)列中的行数
名册
这个
会议
数据看起来像
Sub ScheduleSession()
Dim Roster As Worksheet
Dim Sessions As Worksheet
Dim LastRow As Long
Dim x As Long
Dim row As Range
Dim Session As Range
With ActiveWorkbook.Worksheets("Roster")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).row
For x = LastRow To 8 Step -1
If IsEmpty((.Range("B" & x))) Then
' Look for a session
Debug.Print ("Looking For a Session for " & (.Range("A" & x)))
For Each Session In ActiveWorkbook.Worksheets("Sessions").Range("A1:E1").Cells
Debug.Print (Session)
' Check session is not full (3 per session) else next session
SessionCount = Cells(Rows.Count, Session.Columns.Count).End(xlUp).row
If (SessionCount > 4) Then
Exit For
Else
' Loop over cells in employee roster to see if they are working on given day and time.
' If so roster them by recording session against employee (on ROSTER col B) and employee against session in appropriate col on SESSIONS
End If
Next
Else
' Employee already scheduled
Debug.Print ("This employee " & (.Range("A" & x)) & " already has a session")
End If
Next x
End With
我可以获得有关计算For Each Session循环行中的行的帮助吗?当前是运行时错误91-未设置块变量的对象变量。
这个问题已经被回答了很多次,但我看到的其他答案并没有说明如何将它应用到类似于范围的会话中。
如果有人觉得自己很慷慨,那么最好在每次会议上都能到员工名册上查看他们是否在工作,是否可以安排时间。
使现代化
抱歉,会话是会话
SessionCount = Cells(Rows.Count, Session.Columns.Count).End(xlUp).row