Создание нескольких листов с данными с использованием VBA в Excel - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть несколько листов, на основном листе ввода есть мои необработанные данные, у меня есть другой лист с моими отфильтрованными данными. Я хочу создать новый лист для каждого значения ячейки в столбце A Лист2, и он заполнит лист строками, соответствующими значению моей ячейки в Листе 1.

Мой код ниже создает листы со значениями ячеек, но заполняет только первый лист.

Sub CreateSheetForValue()

    Dim d As Range
    Dim c As Range
    Dim j As Integer
    Dim Source As Worksheet
    Dim Target As Worksheet
    Dim Condition As Worksheet

    Set Source = ActiveWorkbook.Worksheets("Sheet1")
    Set Condition = ActiveWorkbook.Worksheets("Sheet2")


    j = 2    'This will start copying data to Target sheet at row 2


      For Each d In Condition.Range("A2:A21") 'specifiy condition

      'create wroksheet for each value in condition

      Set Target = Sheets.Add(after:=ActiveSheet)
       'ActiveSheet.Name = d.Value

      Target.Name = d.Value


        Sheets("Input").Range("A1:G1").Copy Target.Range("A1")



            For Each c In Source.Range("E2:E1893")

                If Target.Name = d.Value And c.Value = d.Value Then

                    Source.Rows(c.Row).Copy Target.Rows(j)
                    j = j + 1

               End If

            Next c
        Next d
End Sub
...