Есть папка с документами, в которых нужно изменить ФИО, ИНН и подпись.
Порядок действий.
1) Открываю файл с макросом, там 4 поял, из которых я тяну текст и заменяю на него в нужных файлах
2) В папке лежат шаблоны с униальным текстом, который я хочу изменить (зарание ставлю уникальные имена, что его легко найти)
Вот мой код, в чем косяк?
Макрос
Sub FreeBooksOpen()
'чтение того, что нужно заменить
Dim fio As String
Dim inn As String
Dim fiosec As String
fio = Cells(1, 2)
inn = Cells(2, 2)
fiosec = Cells(2, 2)
'открытие нового файла
Dim MyPath As String, MyName As String, FN As String
MyPath = Cells(4, 2)
MyName = Dir(MyPath & "\" & "*.xlsx")
'тут может быть косяк
Do While MyName <> ""
FN = MyPath & "\" & MyName
Excel.Application.Workbooks.Open FN
MyName = Dir
'замена ФИО
With Workbooks(FN).Worksheets(Лист1).Range("A1:A50")
Set c = .Find("fio", LookIn:=xlValues)
Do While Not c Is Nothing
c.Value = fio
Set c = .FindNext(c)
Loop
End With
'замена ИНН
With Workbooks(FN).Worksheets(Лист1).Range("A1:A50")
Set c = .Find("inn", LookIn:=xlValues)
Do While Not c Is Nothing
c.Value = inn
Set c = .FindNext(c)
Loop
End With
'замена ФИО на подписи
With Workbooks(FN).Worksheets(Лист1).Range("A1:A50")
Set c = .Find("fiosec", LookIn:=xlValues)
Do While Not c Is Nothing
c.Value = fiosec
Set c = .FindNext(c)
Loop
End With
'Workbooks(FN).Worksheets("Лист1").Cells (1.2)
'Закрытие с записью
Workbooks(FN).Close SaveChanges:=True
Loop
End Sub
Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.
Ошибка здесь: Workbooks(FN).Worksheets(Лист1).Range("A1:A50")
А именно здесь: Worksheets(Лист1). Имя листа нужно заключить в кавычки: Worksheets("Лист1")