Страницы: 1
RSS
Разделение таблицу на листы по фамилиям
 
Здравствуйте.
Есть таблица, в первой колонке которой указаны фамилии.
Можно ли разделить таблицу, например, с помощью Power Query, на листы по фамилиям?
Будет лист "Иванов", лист "Петров" и лист "Сидоров".
Изменено: vikttur - 14.11.2021 13:46:25
 
макросом можно ( не показан желаемый результат сделал как посчитал нужным) запускать с листа где все ФИО
Код
Sub mrshkei()
Dim arr, i As Long, sh As Worksheet, lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("A2:B" & lr)
For i = LBound(arr) To UBound(arr)
    Worksheets.Add
    With ActiveSheet
        .Name = arr(i, 1)
        .Range("A1") = arr(i, 1)
        .Range("B1") = arr(i, 2)
    End With
Next i
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
, можно, чтобы на каждом листе была шапка как в исходнике?
Еще количество колонок может изменяться.
 
Viper25,  а сразу (СРАЗУ) нельзя было всё это озвучить?
 
Цитата
написал:
не показан желаемый результат сделал как посчитал нужным
Вас эта часть не смутила?
Код
Sub mrshkei()
Dim arr, i As Long, n As Long, sh As Worksheet, lr As Long, lcol As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xlToLeft).Column
arr = Range(Cells(1, 1), Cells(lr, lcol))
For i = LBound(arr) + 1 To UBound(arr)
    Worksheets.Add
    With ActiveSheet
        .Name = arr(i, 1)
        For n = LBound(arr) To UBound(arr, 2) - LBound(arr) + 1
            .Cells(1, n) = arr(1, n)
            .Cells(2, n) = arr(i, n)
        Next n
    End With
Next i
End Sub
Изменено: Mershik - 14.11.2021 12:20:02
Не бойтесь совершенства. Вам его не достичь.
 
Перенсите первую таблицу в Power Query, создайте необходимое количесво копий, отфильтруйте каждую таблицу, переименуйте и загрузите обратно каждую таблицу.
 
Супер.
Спасибо.
 
Цитата
написал:
создайте необходимое количесво копий
Таких копий может быть больше 100.
Вручную их создавать, мягко говоря, тяжело.
 
https://www.planetaexcel.ru/techniques/12/18012/ вот здесь смотрели? А вообще этот макрос есть в Plex. Делит с сохранением исходного форматирования Отлично работает, регулярно пользуюсь
 
Здравствуйте.
Если немного изменить вашу таблицу (Лист1) и создать из неё сводную таблицу (Лист2), то можно без макроса создать листы по фамилиям. Для этого надо зайти на вкладку ленты = Работа со сводными таблицами -- Параметры -- слева раздел Сводная таблица -- против надписи Параметры нажать треугольник -- далее нажать Отобразить страницы фильтра отчёта... Должны сформироваться все таблицы по фамилиям.
Страницы: 1
Наверх