Вы выполняете двойной l oop там, где команда сохранения будет выполняться несколько раз внутри исходного l oop.
Чтобы сохранить каждые 5 итераций l oop, вам нужно будет добавить что-нибудь попроще. Попробуйте:
If (i-1) Mod 5 = 0 Then ThisWorkbook.Save
Next i
Этот код будет запускаться каждый раз, когда остаток счетчика i
делится на 5, таким образом сохраняя каждые 5 итераций вашего счетчика.