Цикл For Next

Автор Overtime, 19 мая 2023, 12:09

Overtime

Привет! Помогите, пожалуйста, разобраться с кодом.
Цикл вставляет в текст документа только первую строчку (i=2), а в названии перебирает все, как и должен. В упор не вижу, в чем ошибка.

Спойлер
...

For i = 2 To lastRow
wordDoc.Content.Find.Execute FindText:="*Поле1*", ReplaceWith:=excelSheet.Range("A" & i).Value
wordDoc.Content.Find.Execute FindText:="*Поле2*", ReplaceWith:=excelSheet.Range("B" & i).Value
wordDoc.Content.Find.Execute FindText:="*Поле3*", ReplaceWith:=excelSheet.Range("C" & i).Value
wordDoc.Content.Find.Execute FindText:="*Поле4*", ReplaceWith:=excelSheet.Range("D" & i).Value

Dim fileName as String
fileName = excelSheet.Range ("A" & i).Value & ".docx"
wordDoc.SaveAs2 fileName
Next i
...
[свернуть]

Администратор

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

Для i = 3 поиск ведётся не в исходном вордовском документе, а в уже изменённом. В изменённом вордовском документе уже нет меток "Поле1" и т.д., т.к. они заменены на значения из эксель-файла.