создать листы по списку в столбце и скопировать значения по шаблону

Автор Денис Ковалев, 19.10.2015, 22:49

« назад - далее »

Денис Ковалев

Всем привет
очень нужна помощь написать макрос.

итак на листе "исходник исходная табличка", из нее нужно сделать много вкладок с названиями из столбца "H"

в каждой вкладке нужно вставить шаблон и заполнить его соответствующими значениями (ПИД уникальный номер)

прошу помочь

Serge 007

Здравствуйте

Назвать листы одинаково не получится
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Денис Ковалев

Serge 007

листы называть одинаково не нужно. Как пример создаем лист с именем "имя листа 1" и в этот лист вставляем форму шаблона, и соотвественно копируем данные по ПИД уникальному номеру со 2 по 5 строчку. , далее лист с именем "имя листа 2" соответственно вставляем опять шаблон и копируем данные уже с 6 по 11 строчку и так далее строк может быть много

Денис Ковалев


Serge 007

Цитата: Денис Ковалев от 19.10.2015, 22:49сделать много вкладок с названиями из столбца "H"
Так можно:
Sub Add_Sheets()
Dim TC As Range
    For Each TC In Range("h2:h13")
        If TC <> TC.Offset(-1) Then
            Sheets.Add After:=Sheets(Sheets.Count)
            Sheets(Sheets.Count).Name = TC
            'тут пишите код чем заполнять листы будете
        End If
    Next TC
End Sub
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Денис Ковалев

спасибо!

а как заполнить в листах только нужные строчки т.е. только те напртив которых в столбе "Н" стоит имя листа?

Serge 007

Цитата: Денис Ковалев от 19.10.2015, 23:50...как заполнить в листах только нужные строчки т.е. только те напртив которых в столбе "Н" стоит имя листа?..
А сами-то что сделали?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Денис Ковалев

я не силен и только осваиваю vba
Private Sub CommandButton1_Click()
    СтрокаИсходник = 2
    Do While Sheets("Исходник").Cells(СтрокаИсходник, 1) <> ""
        'Sheets("Исходник").Rows(СтрокаСпр).Select
            ИмяЛиста = Sheets("Исходник").Cells(СтрокаСпр, 8)

                ' тут как то нужно прописать если "имялиста" совпадает с значением столбца 8 то копировать данные на новы лист
                'но я не соображу как, те:
               
                СтрокаНового листа = 2
                Sheets("ИмяЛиста").Cells(СтрокаНового, 1) = Sheets("Исходник").Cells(СтрокаИсходник, 1)
                Sheets("ИмяЛиста").Cells(СтрокаНового, 2) = Sheets("Исходник").Cells(СтрокаИсходник, 2)
                Sheets("ИмяЛиста").Cells(СтрокаНового, 3) = Sheets("Исходник").Cells(СтрокаИсходник, 3)
           
        СтрокаИсходник = СтрокаИсходник + 1
    Loop
End Sub