Код должен увеличиваться следующим образом:
s = s & j & ". " & Cells(i, 2).Offset(1, 0) & vbCrLf
Таким образом, значение s
увеличивается само по себе.
В общем случае, когда возникают такие проблемы, и труднопонять, почему строка форматируется, попробуйте пошаговую отладку.Например, напишите Stop
в коде и напечатайте строку, которая доступна до сих пор.Вот так:
Do
s = s & j & ". " & Cells(i, 2).Offset(1, 0) & vbCrLf
s1 = j & ". " & s1 & Cells(i, 3).Offset(1, 0) & vbCrLf
i = i + 1
j = j + 1
Debug.Print s
Stop
Loop While Cells(i, 3) <> ""
Тогда магия станет легче для понимания.Нажатие F8 и проверка текущих значений с наведением на них курсора в VBE - это еще один вариант пошаговой отладки.
Отладка VBA, поиск проблем и методы устранения неполадок