Страницы: 1
RSS
Выделение иерархии в сводной таблице активной ячейки
 
добрый день, записал с помощью макрорекордерра макрос, который выделяет структуру подчиненности в сводной таблице. Если включить макрос и перемещаться по сводной таблице с помощью стрелок "вверх" и "вниз", то все прекрасно работает: происходит выделение иерархии подчиненности активной ячейки. Но если щелкнуть мышью по любой ячейке сводной, то выделение пропадает. Как можно переписать макрос, чтобы выделение постоянно работало при перемещении по сводной с помощью курсора мышки? Я в макросах "elementary".
 
Добрый день. В модуль листа:
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim pc As PivotCell, pt As PivotTable
    Dim st As String, j As Integer
    
    On Error Resume Next
        Set pc = ActiveCell.PivotCell
        If Err.Number <> 0 Then Exit Sub
        If pc.PivotCellType <> xlPivotCellValue Then Exit Sub
        If pc.RowItems.Count = 0 Then Exit Sub
    On Error GoTo 0
    
    Set pt = ActiveCell.PivotTable
    
    For j = 1 To pc.RowItems.Count
        st = st & "'" & pc.RowItems(j) & "' "
    Next j
    st = Left(st, Len(st) - 1)
    pt.PivotSelect st, xlDataAndLabel, True
End Sub

срабатывает при выделении любого числового значения. Единственное, не корректно с промежуточными итогами работает
 
webley, большое спасибо - то, что нужно! Правда возникла небольшая проблема в процессе тестирования. Если в какой-либо строке присутствует пустое значение (ячейка в сводной пустая), то вылетает ошибка. Пример во вложении. Можно как-то еще внести корректировку в код?
 
Добрый день. Поменяйте строку
Код
st = st & "'" & pc.RowItems(j) & "' "
на строку
Код
st = st & "'" & pc.RowItems(j).Parent.Name & "'['" & pc.RowItems(j) & "'] "
 
webley, отлично! Премного благодарен!
Страницы: 1
Наверх