Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/создание файлов по списку используя шаблон - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание файлов по списку используя шаблон (Макросы/Sub)
создание файлов по списку используя шаблон
Sancho Дата: Суббота, 21.05.2016, 15:16 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

2007, 2010, 2013
Всем привет.
Помогите решить поставленную задачу. Имеется список содержащий столбцы цех, ФИО, табельный номер, профессия (список.xlsx). Требуется создать на каждую строку из списка свой уникальный файл используя файл шаблон.xlsx. Файлы должны быть созданы по следующим условиям:
1. название файла "табельный номер ФИО.xlsx"
2. файлы должны группироваться в уникальные папки по коду цеха, т.е. все файлы на сотрудников с кодом цеха 3333 находятся в папке 3333, файлы с кодом цеха 3334 в папке 3334 соответственно
3. Ячейки ФИО, табельный номер, профессия в созданном файле должны автоматически заполняться из списка
4. Заполненные ячейки в созданных файлах должны быть защищены от редактирования.
Буду рад любой помощи.
К сообщению приложен файл: 5998948.xlsx(8Kb) · 9300261.xlsx(8Kb)
 
Ответить
СообщениеВсем привет.
Помогите решить поставленную задачу. Имеется список содержащий столбцы цех, ФИО, табельный номер, профессия (список.xlsx). Требуется создать на каждую строку из списка свой уникальный файл используя файл шаблон.xlsx. Файлы должны быть созданы по следующим условиям:
1. название файла "табельный номер ФИО.xlsx"
2. файлы должны группироваться в уникальные папки по коду цеха, т.е. все файлы на сотрудников с кодом цеха 3333 находятся в папке 3333, файлы с кодом цеха 3334 в папке 3334 соответственно
3. Ячейки ФИО, табельный номер, профессия в созданном файле должны автоматически заполняться из списка
4. Заполненные ячейки в созданных файлах должны быть защищены от редактирования.
Буду рад любой помощи.

Автор - Sancho
Дата добавления - 21.05.2016 в 15:16
Manyasha Дата: Суббота, 21.05.2016, 17:54 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 662 ±
Замечаний: 0% ±

Excel 2007, 2010
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]
К сообщению приложен файл: 12345.rar(21Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение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]

Автор - Manyasha
Дата добавления - 21.05.2016 в 17:54
Sancho Дата: Суббота, 21.05.2016, 19:05 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

2007, 2010, 2013
Manyasha, СПАСИБО ВАМ БОЛЬШОЕ!!!
немного допилил код в строке
[vba]
Код
template.SaveCopyAs folderPath & "\" & sh.Cells(i, 3) & " " & sh.Cells(i, 2) & ".xlsx"
[/vba]
 
Ответить
СообщениеManyasha, СПАСИБО ВАМ БОЛЬШОЕ!!!
немного допилил код в строке
[vba]
Код
template.SaveCopyAs folderPath & "\" & sh.Cells(i, 3) & " " & sh.Cells(i, 2) & ".xlsx"
[/vba]

Автор - Sancho
Дата добавления - 21.05.2016 в 19:05
Alien33 Дата: Пятница, 21.10.2016, 16:20 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Помогите мне с похожей задачей.
Есть список поставщиков с необходимой информацией:
имя поставщика
ИНН
код
дата следующей оценки
шаблон 1 / шаблон 2

По этому списку мне необходимо сформировать файлы Excel по шаблону 1 или 2 (в зависимости от пометки в списке)

Название файлов "Поставщик.xlsx"

Желтые ячейки в шаблонах должны автоматически заполняться из файла список.

Буду очень сильно благодарна за помощь!
P.S. в макросах ничего не понимаю ;)
К сообщению приложен файл: suppliers.7z(55Kb)
 
Ответить
СообщениеДобрый день!
Помогите мне с похожей задачей.
Есть список поставщиков с необходимой информацией:
имя поставщика
ИНН
код
дата следующей оценки
шаблон 1 / шаблон 2

По этому списку мне необходимо сформировать файлы Excel по шаблону 1 или 2 (в зависимости от пометки в списке)

Название файлов "Поставщик.xlsx"

Желтые ячейки в шаблонах должны автоматически заполняться из файла список.

Буду очень сильно благодарна за помощь!
P.S. в макросах ничего не понимаю ;)

Автор - Alien33
Дата добавления - 21.10.2016 в 16:20
Manyasha Дата: Пятница, 21.10.2016, 16:33 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 662 ±
Замечаний: 0% ±

Excel 2007, 2010
Alien33, создайте свою тему.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAlien33, создайте свою тему.

Автор - Manyasha
Дата добавления - 21.10.2016 в 16:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » создание файлов по списку используя шаблон (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!