Не могли бы вы помочь мне разобраться с этой проблемой? Если на листе Excel есть значение даты, то всякий раз, когда я хочу вызвать Ubound или Lbound массива, который я определил, возникает ошибка «Подстрочный индекс вне диапазона».Конкретный код, который я написал в VBA, выглядит следующим образом:
Sub conditiondate()
Dim i As Integer
Dim WS As Worksheet
Dim WB As Workbook
Dim Proinv As Workbook
Dim ProinvPath As String
Dim Proinvtemp As Workbook
Dim arrFlight() As Variant
Dim NewArray2 As Variant
Dim lngIndex2 As Integer
Dim lngNItems2 As Integer
Dim n As Integer
'Dim newarr As Variant
Dim j As Integer
Set WB = Application.ActiveWorkbook
startingdate = Worksheets(1).Range("C3") 'From
endingdate = Worksheets(1).Range("C4") 'To
For Each WS In Worksheets
i = 1
j = 0
Do
i = i + 1
j = j + 1
If WS.Cells(i + 10, 3) >= startingdate And WS.Cells(i + 10, 3) <= endingdate Then
WS.Cells(i + 10, 3).Font.Color = vbRed
WS.Cells(i + 10, 3).Offset(0, 13) = "issued"
ReDim Preserve arrFlight(j)
arrFlight(j) = WS.Cells(i + 10, 3).Value
Else
WS.Cells(i + 10, 3).Font.Color = vbBlue
End If
Loop Until i = 200
MsgBox UBound(arrFlight) ' <<---SCRIPT OUT OF RANGE EMERGED HERE**
Next WS
end Sub
спасибо за вашу помощь