0
我正在研究一些VBA,旨在循环使用Excel制作的学生的Schedule Builder。在作业c = c.Offset(X, 0)
期间,我一直收到错误424,但只在嵌套的For循环中出现。有限的范围,如果是的话,我如何克服它?for循环中的单元格对象的作用域 - VBA
下面是代码:
Public Sub generateRosters()
Worksheets("Course Rosters").Cells.ClearContents
Worksheets("Course Rosters").Range("A1") = "Course"
Worksheets("Course Rosters").Range("B1") = "Room"
Dim classTitleRange As Range
Set classTitleRange = Worksheets("Master School Schedule").Range("D1:BN1")
Dim rowCount As Integer
rowCount = 2
Dim periodArr(1 To 8) As String
periodArr(1) = "A"
periodArr(2) = "B"
periodArr(3) = "C"
periodArr(4) = "D"
periodArr(5) = "E"
periodArr(6) = "F"
periodArr(7) = "G"
periodArr(8) = "Z"
For Each c In classTitleRange.Cells
Dim courseTitle As String
courseTitle = c
c = c.Offset(2, 0)
Dim room As String
room = c
For Each p In periodArr()
Dim offsetCount As Integer
offsetCount = 0
For i = 1 To 340
c = c.Offset(1, 0) '424 Error One
If c = p Then
End If
offsetCount = offsetCount + 1
Next
c = c.Offset(-offsetCount, 0) '424 Error Two
Next
Worksheets("Course Rosters").Range("A" & rowCount) = "'" & courseTitle
Worksheets("Course Rosters").Range("B" & rowCount) = room
rowCount = rowCount + 1
Next
End Sub
谢谢您的帮助。
编辑:旁边的问题,有没有办法让我创建一个变量,我可以像c一样操作,但不是c。基本上是Dim d As (Something)
,然后是d = c
。我似乎无法找到指定给d的正确对象,所以我可以使它成为c。再次感谢。
我的逻辑是,我对VBA相当陌生,并不知道更好。谢谢您的帮助! – user2004245