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

Вход

Регистрация

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

 

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

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

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

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

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

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

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

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

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

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

Буду очень сильно благодарна за помощь!

Автор - Alien33
Дата добавления - 21.10.2016 в 16:48
Manyasha Дата: Понедельник, 24.10.2016, 10:48 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 661 ±
Замечаний: 0% ±

Excel 2007, 2010
Alien33, например так можно:
[vba]
Код
Sub createFiles()
    Application.ScreenUpdating = False
    Dim sh As Worksheet, wb As Workbook
    Set sh = ThisWorkbook.Sheets("3 кв 2016")
    With sh
        For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
            If .Cells(i, "k") = "шаблон 1" Then
                'ThisWorkbook.Path & "\шаблон 1.xls - путь в к шаблону 1
                Set wb = Workbooks.Open(ThisWorkbook.Path & "\шаблон 1.xls")
            Else
                'ThisWorkbook.Path & "\шаблон 2.xls - путь в к шаблону 2
                Set wb = Workbooks.Open(ThisWorkbook.Path & "\шаблон 2.xls")
            End If
            With wb.Sheets(1)
                .[d5] = sh.Cells(i, "b")
                .[d6] = sh.Cells(i, "d")
                .[h5] = sh.Cells(i, "e")
                .[h7] = sh.Cells(i, "j")
            End With
            wb.SaveCopyAs ThisWorkbook.Path & "\" & sh.Cells(i, "b") & ".xls"
            wb.Close False
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]
шаблоны должны лежать в той же папке, что и список. Или нужно изменить в коде путь в к файлам-шаблонам
К сообщению приложен файл: -1.xlsm(53Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAlien33, например так можно:
[vba]
Код
Sub createFiles()
    Application.ScreenUpdating = False
    Dim sh As Worksheet, wb As Workbook
    Set sh = ThisWorkbook.Sheets("3 кв 2016")
    With sh
        For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
            If .Cells(i, "k") = "шаблон 1" Then
                'ThisWorkbook.Path & "\шаблон 1.xls - путь в к шаблону 1
                Set wb = Workbooks.Open(ThisWorkbook.Path & "\шаблон 1.xls")
            Else
                'ThisWorkbook.Path & "\шаблон 2.xls - путь в к шаблону 2
                Set wb = Workbooks.Open(ThisWorkbook.Path & "\шаблон 2.xls")
            End If
            With wb.Sheets(1)
                .[d5] = sh.Cells(i, "b")
                .[d6] = sh.Cells(i, "d")
                .[h5] = sh.Cells(i, "e")
                .[h7] = sh.Cells(i, "j")
            End With
            wb.SaveCopyAs ThisWorkbook.Path & "\" & sh.Cells(i, "b") & ".xls"
            wb.Close False
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]
шаблоны должны лежать в той же папке, что и список. Или нужно изменить в коде путь в к файлам-шаблонам

Автор - Manyasha
Дата добавления - 24.10.2016 в 10:48
Alien33 Дата: Четверг, 27.10.2016, 17:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, супер! спасибо вам огромное, выручили! hands
 
Ответить
СообщениеManyasha, супер! спасибо вам огромное, выручили! hands

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

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