Почему subscript out of range? - VBA
Формулировка задачи:
VBA выполняет все процедуры из условий даже если уже ясно что все выражение будет true или что?
Заранее благодарю, файл с макросом (Task_9_button) приложила.
Листинг программы
- Private Sub checkGameEnd()
- Dim i, j, cur As Integer
- For i = 0 To 2
- cur = 0
- For j = 0 To 2
- If j = 0 Or field(i, j - 1).Caption = field(i, j).Caption Then ' Ошибка здесь
- cur = cur + 1
- End If
- Next j
- If cur = 3 Then
- Call gameEnd(field(i, 0))
- End If
- Next i
- For j = 0 To 2
- cur = 0
- For i = 0 To 2
- If i = 0 Or field(i - 1, j).Caption = field(i, j).Caption Then
- cur = cur + 1
- End If
- Next i
- If cur = 3 Then
- Call gameEnd(field(0, j))
- End If
- Next j
- cur = 0
- For i = 0 To 2
- If i = 0 Or field(i - 1, i - 1).Caption = field(i, i) Then
- cur = cur + 1
- End If
- Next i
- If cur = 3 Then
- Call gameEnd(field(0, 0))
- End If
- If clearCells = 0 Then
- Call gameEnd("")
- End If
- End Sub
Решение задачи: «Почему subscript out of range?»
textual
Листинг программы
- IF b1 and b2 then
- work
- endif
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д