я посмотрел тему, у тебя здесь все есть: добавляешь в personal модуль класса, называешь его, напр., clsApp в этот модуль вставляешь строку: [vba]
Код
Public WithEvents XL As Application
[/vba] это по факту свойство класса
в модуле "ЭтаКнига" personal'а:[vba]
Код
Public X As New clsApp
Private Sub Workbook_Open() Set X.XL = Application End Sub
[/vba]после этого в модуле класса будут доступны события уровня всего приложения из левого выпадающего списка выбирай XL, из правого нужное событие и пиши туда, пиши, пиши...
я посмотрел тему, у тебя здесь все есть: добавляешь в personal модуль класса, называешь его, напр., clsApp в этот модуль вставляешь строку: [vba]
Код
Public WithEvents XL As Application
[/vba] это по факту свойство класса
в модуле "ЭтаКнига" personal'а:[vba]
Код
Public X As New clsApp
Private Sub Workbook_Open() Set X.XL = Application End Sub
[/vba]после этого в модуле класса будут доступны события уровня всего приложения из левого выпадающего списка выбирай XL, из правого нужное событие и пиши туда, пиши, пиши...Саня
Private Sub XL_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Application.EnableEvents = False Target.InGridDropZones = True On Error Resume Next Target.RowAxisLayout xlTabularRow Debug.Print Now Application.EnableEvents = True End Sub
[/vba] ты ж знаешь, куда это надо вставить?
вернулись к истокам: [vba]
Код
Private Sub XL_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Application.EnableEvents = False Target.InGridDropZones = True On Error Resume Next Target.RowAxisLayout xlTabularRow Debug.Print Now Application.EnableEvents = True End Sub
эту 1-ю строку перенеси в любой стандартный модуль - в начало, до всех процедур, а лучше создать новый модуль для таких целей (объявление глобальных переменных)
эту 1-ю строку перенеси в любой стандартный модуль - в начало, до всех процедур, а лучше создать новый модуль для таких целей (объявление глобальных переменных)Саня
Добрый день. Можно ли тут вопрос задать, не создавать новую тему?
Мне нужно понять, как при создании сводной задавать не SourceData:= _"Лист!R1C1:R65536C3". Я хочу, чтобы во вновь созданной сводной таблице не было пустых значений. Какие вижу решения: 1) пропись в сорсдата диапазона с А-В, который позволит прописать последнюю непустую ячейку таблицы. но не получается, получаю синтаксическую ошибку. 2) обращение в коде по имени таблицы. но тут у меня индекс имени постоянно увеличивается с исполнением макроса еще раз. в этом случае нужно понять, как задавать имя диапазона при создании нового листа и копировании данных туда.
Пожалуйста, помогите мне по первому, второму или какому-то еще пути, которого я не знаю. Спасибо.
Можно ли тут вопрос задать, не создавать новую тему?
[moder]Нет, нельзя. Читаем Правила форума, а то буду зверствовать уже.
Добрый день. Можно ли тут вопрос задать, не создавать новую тему?
Мне нужно понять, как при создании сводной задавать не SourceData:= _"Лист!R1C1:R65536C3". Я хочу, чтобы во вновь созданной сводной таблице не было пустых значений. Какие вижу решения: 1) пропись в сорсдата диапазона с А-В, который позволит прописать последнюю непустую ячейку таблицы. но не получается, получаю синтаксическую ошибку. 2) обращение в коде по имени таблицы. но тут у меня индекс имени постоянно увеличивается с исполнением макроса еще раз. в этом случае нужно понять, как задавать имя диапазона при создании нового листа и копировании данных туда.
Пожалуйста, помогите мне по первому, второму или какому-то еще пути, которого я не знаю. Спасибо.