Цитата |
---|
Sanja написал: В модуль листа со сводными |
Имхо, всё же правильнее строку "Application.ScreenUpdating = True" вставлять перед End If, поскольку отключение обновление экрана происходит внутри If. То есть, весь код должен выглядеть так:
Код |
---|
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "СводнаяТаблица1" Then
Dim fRow&, fClmn&
Application.ScreenUpdating = False
With Target.TableRange2
fRow = .Row + .Rows.Count + 1
fClmn = .Column + .Columns.Count + 1
End With
'раздвинуть строки
Me.Range(Me.Cells(1, 1), Me.Cells(112, 1)).EntireRow.Hidden = False
Me.Range(Me.Cells(fRow, 1), Me.Cells(112, 1)).EntireRow.Hidden = True
'раздвинуть столбцы
Me.Range(Me.Cells(1, 2), Me.Cells(1, 100)).EntireColumn.Hidden = False
Me.Range(Me.Cells(1, fClmn), Me.Cells(1, 100)).EntireColumn.Hidden = True
Application.ScreenUpdating = True
End If
End Sub |
Конечно, это в принципе ни на что не влияет, просто в варианте из поста 9, если на листе нет таблицы с именем "СводнаяТаблица1", макрос будет включать обновление экрана, которое и так включено.