Проблема с правильной индексацией новых строк - PullRequest
0 голосов
/ 19 февраля 2019

Я перебираю столбцы и сохраняю их в значениях s и s1.Мне нужно добавить порядок подсчета для такого количества строк, для которого я пытаюсь использовать индекс j.Получаем картинку вот так все время:

Current result

И желаемый результат должен быть следующим:

enter image description here

s = ""
s1 = ""
j = 1
Do            
s = j & ". " & s & Workbooks(Filename).Sheets(1).Cells(i, 2).Offset(1, 0).Value & vbCrLf
s1 = j & ". " & s1 & Workbooks(Filename).Sheets(1).Cells(i, 3).Offset(1, 0).Value & vbCrLf
i = i + 1
j = j + 1            
Loop While Workbooks(Filename).Sheets(1).Cells(i, 3).Value <> ""

1 Ответ

0 голосов
/ 19 февраля 2019

Код должен увеличиваться следующим образом:

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, поиск проблем и методы устранения неполадок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...