Я хочу, чтобы код считывал значение vResults (1, i), и если оно больше 21, я хочу, чтобы оно увеличивало значение vInputs (5, i) на 1 и продолжало делать этопока 'vResults (1, i)' не станет больше 21.
Не выдает никаких ошибок, но Excel просто падает.
Sub CreateTestResultTableV2()
Application.ScreenUpdating = False 'helps the code run faster
Dim vInputs, vResults()
Dim c As Integer, i As Integer
'create INPUTS
c = Range("b5").End(xlToRight).Column
vInputs = Range("b5", Cells(9, c))
'determine last value in the column
c = UBound(vInputs, 2)
'create RESULTS
ReDim vResults(1 To 3, 1 To c)
For i = 1 To c
If vInputs(1, i) > 22 Then
'set values
Range("j16") = vInputs(1, i)
Range("n12") = vInputs(3, i)
Range("r14") = vInputs(5, i)
'copy output values into RESULTS
vResults(1, i) = Range("h41")
vResults(2, i) = Range("k41")
vResults(3, i) = Range("z14")
Do Until vResults(1, i) > 21
vInputs(5, i).Value = vInputs(5, i).Value + 1
Loop
End If
Next i
Range("c47").Resize(3, c) = vResults
Application.ScreenUpdating = True
End Sub