Добрый день, уважаемые формучане.
Прошу подсказать, есть макрос, который перебирает значения из диапазона и вставляет их как значение фильтра в другие листы. Но не во всех листах есть подходящие значения и при фильтрации ничего не выдает, но макрос всё равно обрабатывает пустой диапазон и шапку и переносит на след. лист.
Пример прилагаю, в городе Самара нет Сидорова, в Пензе нет Иванова, а на выходе всё равно получается Сидоров_, Иванов_
Прошу подсказать, есть макрос, который перебирает значения из диапазона и вставляет их как значение фильтра в другие листы. Но не во всех листах есть подходящие значения и при фильтрации ничего не выдает, но макрос всё равно обрабатывает пустой диапазон и шапку и переносит на след. лист.
Пример прилагаю, в городе Самара нет Сидорова, в Пензе нет Иванова, а на выходе всё равно получается Сидоров_, Иванов_
Код |
---|
Sub Splitter() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim h As Integer Dim wrksht As Worksheet Dim oListObj As ListObject For h = 2 To Sheets.Count Set wrksht = ActiveWorkbook.Worksheets(h) Set oListObj = wrksht.ListObjects(1) For Each cell In Range("ФИО") Sheets(wrksht.Name).Select FinalCol = Cells(1, Application.Columns.Count).End(xlToLeft).Column FinalRow = Cells(Application.Rows.Count, 1).End(xlUp).Row Range(oListObj.Name).AutoFilter Field:=FinalCol, Criteria1:=cell.Value Range(Cells(1, 1), Cells(FinalRow, FinalCol)).SpecialCells(xlCellTypeVisible).Copy ActiveWorkbook.Sheets.Add After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count) ActiveSheet.Paste ActiveSheet.Name = cell.Value & "_" & Cells(2, FinalCol - 1).Value ActiveSheet.UsedRange.Columns.AutoFit Next cell Next Application.ScreenUpdating = False Application.DisplayAlerts = False End Sub |