Я понимаю, что здесь и в других местах есть несколько других сообщений об этой ошибке, но вещи, вызывающие проблему, кажутся повсеместными, и ни одно из решений, которые я видел до сих пор, кажется, не решает проблему Я сталкиваюсь.
У меня есть модуль класса со следующим кодом:
Public questionID As Integer
Public score As Double
Public time As Date
Private lines() As New Line 'If I remove 'New', I end up getting Run-time error 91 instead
Sub CreateByRow(row As Range)
questionID = row.Cells(1, 1)
score = row.Cells(1, 7)
time = row.Cells(1, 8)
''' INSERT LINES '''
Dim tLines As ListObject
Set tLines = shtLines.ListObjects("lines")
Erase lines
Dim rLine As Range
For Each rLine In tLines.Range.Rows
If rLine.Cells(1, 1) = questionID Then
Dim ln As New Line
ln.CreateByRow rLine 'Line object is created as expected
u = UBound(lines) + 1 'u = 0 as expected
ReDim lines(u) 'Array has a length of 1 and index of 0 as expected
lines(u) = ln 'This is where the error happens
End If
Next
End Sub
Когда я запускаю этот код, я получаю ошибку времени выполнения 438, но я не понимаю почему. Массив ищет объект Line
. Line
объект, который я пытаюсь вставить, не равен нулю.
Когда я делаю паузу в строке, вызывающей у меня проблему: