В вашем коде и логике есть несколько ошибок:
For j = 0 to SpreadCount
If TypeName(ChainsDC(j,0) = "String" 'testing for an error
Goto EndLoop
Else:
For i = 0 to RscSct
...do amazing things here (no loops)
Next i
EndLoop:
Next j '<<<PROBLEM
Основная проблема заключается в логике - если вас волнует только то, что TypeName не является строкой, проверьте это.Нет необходимости добавлять оператор else, не говоря уже о GoTo.Как часто говорят:
Инструкция GoTo часто может указывать на возможность исправить логику в вашем коде
Одна вещь, которая помогает, - это сосредоточиться на том, что вы хочу делать, а не то, что вы не хотите делать.Хорошая практика - сначала записать ожидаемый / желаемый путь, а затем добавить в дополнительные случаи после (при необходимости).
Другие исправляемые области:
- В строке 2 вы пропускаете)
- В строке 2 уберите комментарий.Код не должен / должен быть понятен.
- Вы должны поменять местами i и j.Кто-то, читающий код, предположит, что я пришел первым.
- В строке 4 вы должны удалить «:»
Вот код, очищенный:
For i = 0 To SpreadCount
If TypeName(ChainsDC(i, 0)) <> "String" Then
For j = 0 To RscSct
'...do amazing things here
Next
End If
Next