Страницы: 1
RSS
Создание сводной диаграммы с помощью VBA
 
Добрый день! Прошу помощи в создании сводной диаграммы средствами VBA. В примере есть 2 сводных таблицы на разных листах. С помощью макрорекордера получил вот такой код:
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
    Range("A6").Select
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    ActiveChart.SetSourceData Source:=Range("'сводная 1'!$A$3:$B$6")
End Sub
я просто ткнул в случайное место сводной таблицы на листе "сводная 1" и выбрал сводную диаграмму. Подскажите пожалуйста можно ли сделать так, чтобы при запуске макроса он запрашивал кликнуть в любое место сводной таблицы и уже после строил сводную диаграмму? При этом сводные таблицы могут быть расположены на разных листах. Предполагаю, что нужно задать переменную, вместо Range("'сводная 1'!$A$3:$B$6"), но я полный ноль в VBA.
 
Доброго времени суток
как-то так
Код
Sub Макрос1()
    Dim src As Range
    On Error Resume Next
    
    Set src = Application.InputBox("Выбор ячейки сводной", Type:=8)
    If src Is Nothing Then Exit Sub
    
    With Application
        .ScreenUpdating = 0: .EnableEvents = 0
        With ActiveSheet.Shapes.AddChart2(201, xlColumnClustered)
            .Visible = 0
            .Chart.SetSourceData src.PivotTable.TableRange2
            .Visible = 1
        End With
        .ScreenUpdating = 1: .EnableEvents = 1
    End With
    
End Sub
 
Андрей Лящук, большое спасибо!
Страницы: 1
Наверх