Всем привет. Помогите решить поставленную задачу. Имеется список содержащий столбцы цех, ФИО, табельный номер, профессия (список.xlsx). Требуется создать на каждую строку из списка свой уникальный файл используя файл шаблон.xlsx. Файлы должны быть созданы по следующим условиям: 1. название файла "табельный номер ФИО.xlsx" 2. файлы должны группироваться в уникальные папки по коду цеха, т.е. все файлы на сотрудников с кодом цеха 3333 находятся в папке 3333, файлы с кодом цеха 3334 в папке 3334 соответственно 3. Ячейки ФИО, табельный номер, профессия в созданном файле должны автоматически заполняться из списка 4. Заполненные ячейки в созданных файлах должны быть защищены от редактирования. Буду рад любой помощи.
Всем привет. Помогите решить поставленную задачу. Имеется список содержащий столбцы цех, ФИО, табельный номер, профессия (список.xlsx). Требуется создать на каждую строку из списка свой уникальный файл используя файл шаблон.xlsx. Файлы должны быть созданы по следующим условиям: 1. название файла "табельный номер ФИО.xlsx" 2. файлы должны группироваться в уникальные папки по коду цеха, т.е. все файлы на сотрудников с кодом цеха 3333 находятся в папке 3333, файлы с кодом цеха 3334 в папке 3334 соответственно 3. Ячейки ФИО, табельный номер, профессия в созданном файле должны автоматически заполняться из списка 4. Заполненные ячейки в созданных файлах должны быть защищены от редактирования. Буду рад любой помощи.Sancho
Sancho, так пойдет (скидываю в архиве, чтобы имя шаблона не заменялось)? [vba]
Код
Sub createFiles() Application.ScreenUpdating = False Dim folderName$, myPath$ myPath = ThisWorkbook.Path Set sh = ThisWorkbook.Sheets(1) Set template = Workbooks.Open(myPath & "\шаблон.xlsx")
template.Sheets(1).Protect "1", UserInterfaceOnly:=True With sh For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row folderPath = myPath & "\" & .Cells(i, 1) If Dir(folderPath, vbDirectory) = "" Then MkDir (folderPath) With template.Sheets(1) .[b2] = sh.Cells(i, 2): .[d2] = sh.Cells(i, 3): .[f2] = sh.Cells(i, 4) template.SaveCopyAs folderPath & "\табельный номер " & sh.Cells(i, 2) & ".xlsx" End With Next i End With template.Close False Application.ScreenUpdating = True End Sub
[/vba]
Sancho, так пойдет (скидываю в архиве, чтобы имя шаблона не заменялось)? [vba]
Код
Sub createFiles() Application.ScreenUpdating = False Dim folderName$, myPath$ myPath = ThisWorkbook.Path Set sh = ThisWorkbook.Sheets(1) Set template = Workbooks.Open(myPath & "\шаблон.xlsx")
template.Sheets(1).Protect "1", UserInterfaceOnly:=True With sh For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row folderPath = myPath & "\" & .Cells(i, 1) If Dir(folderPath, vbDirectory) = "" Then MkDir (folderPath) With template.Sheets(1) .[b2] = sh.Cells(i, 2): .[d2] = sh.Cells(i, 3): .[f2] = sh.Cells(i, 4) template.SaveCopyAs folderPath & "\табельный номер " & sh.Cells(i, 2) & ".xlsx" End With Next i End With template.Close False Application.ScreenUpdating = True End Sub
Добрый день! Помогите мне с похожей задачей. Есть список поставщиков с необходимой информацией: имя поставщика ИНН код дата следующей оценки шаблон 1 / шаблон 2
По этому списку мне необходимо сформировать файлы Excel по шаблону 1 или 2 (в зависимости от пометки в списке)
Название файлов "Поставщик.xlsx"
Желтые ячейки в шаблонах должны автоматически заполняться из файла список.
Буду очень сильно благодарна за помощь! P.S. в макросах ничего не понимаю
Добрый день! Помогите мне с похожей задачей. Есть список поставщиков с необходимой информацией: имя поставщика ИНН код дата следующей оценки шаблон 1 / шаблон 2
По этому списку мне необходимо сформировать файлы Excel по шаблону 1 или 2 (в зависимости от пометки в списке)
Название файлов "Поставщик.xlsx"
Желтые ячейки в шаблонах должны автоматически заполняться из файла список.
Буду очень сильно благодарна за помощь! P.S. в макросах ничего не понимаю Alien33