Новости:

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

Главное меню

Как заложить цикл?

Автор denis402, 22.11.2014, 22:49

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

denis402

Добрый день,
есть список сотрудников (Петя,Денис,Вася,Коля...) с их результатами работы изображенными на графиках, и написанный макрос заменяющий  на графике имя первого сотрудника на имя второго сотрудника (далее макрос сохраняет результат в PDF).
Друзья, подскажите как включить цикл в макрос, который автоматически меняет текущее имя сотрудника на последующее(с Пети на Денис,с Дениса на Васю, с Васи на Колю и т.п) во всех местах где оно присутствует(на графиках и в имени сохраняемого файла) ?
Можно понасоздавать макросов ,запускающихся последовательно, но это уж очень долго...

Ниже фрагмент с описанием,
[u]'Меняем одного сотрудника на другого[/u]

  ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveSheet.PivotTables("PivotTable6").PivotFields("CLIENT NAME SHORT"). _
        CurrentPage = "(All)"
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("CLIENT NAME SHORT")
        .PivotItems("Денис").Visible = True
        .PivotItems("Петя").Visible = False
    End With
    Sheets("Заработал в апреле").Select
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveSheet.PivotTables("PivotTable6").PivotFields("CLIENT NAME SHORT"). _
        CurrentPage = "(All)"
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("CLIENT NAME SHORT")
        .PivotItems("Денис").Visible = True
        .PivotItems("Петя").Visible = False
'Распечатываем результат
Range("A1:N352").Select
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "Н:\Денис.pdf", _
        Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:= _
        False, OpenAfterPublish:=True

RAN

Исходя из приложенного фрагмента кода
Цитата: denis402 от 22.11.2014, 22:49
макрос, который автоматически меняет текущее имя сотрудника на последующее
и рядом не лежал.
макрос для выбора значения фильтра сводной таблицы - вопрос совершенно иной.