Здравствуйте. Есть таблица, в первой колонке которой указаны фамилии. Можно ли разделить таблицу, например, с помощью Power Query, на листы по фамилиям? Будет лист "Иванов", лист "Петров" и лист "Сидоров".
макросом можно ( не показан желаемый результат сделал как посчитал нужным) запускать с листа где все ФИО
Код
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
написал: не показан желаемый результат сделал как посчитал нужным
Вас эта часть не смутила?
Код
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
Перенсите первую таблицу в Power Query, создайте необходимое количесво копий, отфильтруйте каждую таблицу, переименуйте и загрузите обратно каждую таблицу.
Здравствуйте. Если немного изменить вашу таблицу (Лист1) и создать из неё сводную таблицу (Лист2), то можно без макроса создать листы по фамилиям. Для этого надо зайти на вкладку ленты = Работа со сводными таблицами -- Параметры -- слева раздел Сводная таблица -- против надписи Параметры нажать треугольник -- далее нажать Отобразить страницы фильтра отчёта... Должны сформироваться все таблицы по фамилиям.