Для цикла с переменным

У меня немного странная проблема.

У меня следующий цикл (просто фрагмент, поскольку код довольно большой):

Dim WS_Count As Integer Dim wsName As String Dim A As Integer Dim ExtraArray() As Variant For I = 1 To WS_Count WS_Count = ActiveWorkbook.Worksheets.Count 'Some Code' Sheets(wsName).Copy After:=Sheets(wsName) Sheets(wsName + " (2)").Name = ExtraArray(A, 2) I = I + 1 WS_Count = ActiveWorkbook.Worksheets.Count Next I 

Существует много другого кода, но я не считаю, что это проблема.

Если я добавлю дополнительные листы во время цикла For и добавлю 1 в I, а также пересчитайте WS_Count в конце цикла For и в начале цикла, чтобы убедиться, что это правильно, должно ли это теоретически работать?

Или vba не разрешает ad-hoc модификацию переменной цикла For, в данном случае «WS_Count». Он просто видит исходное значение?

Моя петля работает до определенной точки (примерно первоначальный номер, хранящийся в WS_Count, а затем я возвращаюсь обратно к 0.

Любая помощь очень ценится!

Давайте будем гением компьютера.