Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Нарезка данных - Макрос

Автор Наталья_А, 08.05.2014, 14:00

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

Наталья_А

Добрый день
Прошу помочь разобраться с макросом. я в этом деле новичок.
Есть сводный отчёт по регионам, задача такова, что необходимо его ежедневно нарезать по признаку Регион.
Макрос прописан, но он почему то не нарезает по заданному фильтру (по региону), а вырезает только шапку и создает эту шапку на новые листы.
В итоге нужно что бы отчёт нарезал шапку и данные каждого региона на новый лист с сохранением группировки слева.
Прошу подсказать в чём ошибка
Файл с данными и макросом во вложении.
Sub RunThis()
    FiltTo "Харьков"
    FiltTo "Винница"
    FiltTo "Черкассы"
   
    End Sub

Sub FiltTo(sWhat As String)
    Dim lr As Long

    With Лист1
        lr = .Range("A4").End(xlDown).Row

        .Range("A6").AutoFilter
        With .Range("A6:Q" & lr)
            .AutoFilter 17, "=*" & sWhat & "*"
            .Copy
        End With
        '======================================
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Paste
        '======================================
        .Range("A6").AutoFilter
    End With
End Sub

cheshiki1

#1
поиск последней заполненной так правильнее будет.
lr = .Cells(Rows.Count, 1).End(xlUp).Row
почему фильтр по 17 столбцу? его у вас нет.
П.С. Оформляйте код тэгами.

Наталья_А

Цитата: cheshiki1 от 08.05.2014, 14:27
поиск последней заполненной так правильнее будет.
lr = .Cells(Rows.Count, 1).End(xlUp).Row
почему фильтр по 17 столбцу? его у вас нет.
П.С. Оформляйте код тэгами.

Спасибо большое, всё получилось!