Классический макет сводной таблицы. VBA.
Pavel55
Дата: Воскресенье, 23.10.2011, 05:31 |
Сообщение № 21
Группа: Друзья
Ранг: Прохожий
Сообщений: 5
Репутация:
6
±
Замечаний:
0% ±
Я не очень разбираюсь во всём этом, но может так заработает[vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Application.EnableEvents = False With Target .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Application.EnableEvents = True End Sub
[/vba]
Я не очень разбираюсь во всём этом, но может так заработает[vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Application.EnableEvents = False With Target .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Application.EnableEvents = True End Sub
[/vba] Pavel55
Ответить
Сообщение Я не очень разбираюсь во всём этом, но может так заработает[vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Application.EnableEvents = False With Target .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Application.EnableEvents = True End Sub
[/vba] Автор - Pavel55 Дата добавления - 23.10.2011 в 05:31
Serge_007
Дата: Воскресенье, 23.10.2011, 05:33 |
Сообщение № 22
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Pavel55 )
может так заработает
Не-а
Quote (Pavel55 )
может так заработает
Не-а Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Pavel55 )
может так заработает
Не-а Автор - Serge_007 Дата добавления - 23.10.2011 в 05:33
Pavel55
Дата: Воскресенье, 23.10.2011, 06:04 |
Сообщение № 23
Группа: Друзья
Ранг: Прохожий
Сообщений: 5
Репутация:
6
±
Замечаний:
0% ±
может так? ) [vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Dim pt As PivotTable, ws As Worksheet Application.EnableEvents = False For Each ws In Worksheets For Each pt In ws.PivotTables With pt .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Next pt Next ws Application.EnableEvents = True End Sub
[/vba] P.S. если нет, то я пас ))
может так? ) [vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Dim pt As PivotTable, ws As Worksheet Application.EnableEvents = False For Each ws In Worksheets For Each pt In ws.PivotTables With pt .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Next pt Next ws Application.EnableEvents = True End Sub
[/vba] P.S. если нет, то я пас )) Pavel55
Ответить
Сообщение может так? ) [vba]Код
Private WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable) Dim pt As PivotTable, ws As Worksheet Application.EnableEvents = False For Each ws In Worksheets For Each pt In ws.PivotTables With pt .InGridDropZones = True .RowAxisLayout xlTabularRow .TableStyle2 = "" End With Next pt Next ws Application.EnableEvents = True End Sub
[/vba] P.S. если нет, то я пас )) Автор - Pavel55 Дата добавления - 23.10.2011 в 06:04
Serge_007
Дата: Воскресенье, 23.10.2011, 06:11 |
Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Это в Personal?
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Это в Personal? Автор - Serge_007 Дата добавления - 23.10.2011 в 06:11
Саня
Дата: Среда, 02.11.2011, 00:17 |
Сообщение № 25
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
[vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True End Sub
[/vba]
[vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True End Sub
[/vba] Саня
Ответить
Сообщение [vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True End Sub
[/vba] Автор - Саня Дата добавления - 02.11.2011 в 00:17
Serge_007
Дата: Среда, 02.11.2011, 00:43 |
Сообщение № 26
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Нет Саня , не работает...
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Нет Саня , не работает... Автор - Serge_007 Дата добавления - 02.11.2011 в 00:43
Саня
Дата: Среда, 02.11.2011, 01:23 |
Сообщение № 27
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
у меня все работает напиши, как ты это проверяешь.
у меня все работает напиши, как ты это проверяешь. Саня
Ответить
Сообщение у меня все работает напиши, как ты это проверяешь. Автор - Саня Дата добавления - 02.11.2011 в 01:23
Serge_007
Дата: Среда, 02.11.2011, 09:51 |
Сообщение № 28
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Саня )
напиши, как ты это проверяешь.
Вставляю твой код в модуль Эта книга (?!), создаю сводную - макет по умолчанию. Попробовал в Personal - результат аналогичный.
Quote (Саня )
напиши, как ты это проверяешь.
Вставляю твой код в модуль Эта книга (?!), создаю сводную - макет по умолчанию. Попробовал в Personal - результат аналогичный.Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Саня )
напиши, как ты это проверяешь.
Вставляю твой код в модуль Эта книга (?!), создаю сводную - макет по умолчанию. Попробовал в Personal - результат аналогичный.Автор - Serge_007 Дата добавления - 02.11.2011 в 09:51
Саня
Дата: Среда, 02.11.2011, 10:48 |
Сообщение № 29
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
если ты вставляешь в модуль "ЭтаКнига", то работать будет (при условии, что включены события) именно в этой книге. Если нужен функционал во всем екселе, то либо в personal либо в надстройку(этот способ для меня лично предпочтительнее, т.к. надстройкой можно модифицировать ленту) нужно влепить модуль класса для событий уровня приложения
если ты вставляешь в модуль "ЭтаКнига", то работать будет (при условии, что включены события) именно в этой книге. Если нужен функционал во всем екселе, то либо в personal либо в надстройку(этот способ для меня лично предпочтительнее, т.к. надстройкой можно модифицировать ленту) нужно влепить модуль класса для событий уровня приложения Саня
Ответить
Сообщение если ты вставляешь в модуль "ЭтаКнига", то работать будет (при условии, что включены события) именно в этой книге. Если нужен функционал во всем екселе, то либо в personal либо в надстройку(этот способ для меня лично предпочтительнее, т.к. надстройкой можно модифицировать ленту) нужно влепить модуль класса для событий уровня приложения Автор - Саня Дата добавления - 02.11.2011 в 10:48
Serge_007
Дата: Среда, 02.11.2011, 10:50 |
Сообщение № 30
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Саня )
при условии, что включены события
А как проверить что они включены?
Quote (Саня )
при условии, что включены события
А как проверить что они включены?Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Саня )
при условии, что включены события
А как проверить что они включены?Автор - Serge_007 Дата добавления - 02.11.2011 в 10:50
Саня
Дата: Среда, 02.11.2011, 10:52 |
Сообщение № 31
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
Alt+F11 ctrl+G, в окне immediate пишешь: ? application.enableevents + enter (чтобы посмотреть) application.enableevents=true + enter (чтобы изменить)
Alt+F11 ctrl+G, в окне immediate пишешь: ? application.enableevents + enter (чтобы посмотреть) application.enableevents=true + enter (чтобы изменить) Саня
Ответить
Сообщение Alt+F11 ctrl+G, в окне immediate пишешь: ? application.enableevents + enter (чтобы посмотреть) application.enableevents=true + enter (чтобы изменить) Автор - Саня Дата добавления - 02.11.2011 в 10:52
Саня
Дата: Среда, 02.11.2011, 10:56 |
Сообщение № 32
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
да, кстати, это событие добавлено только в XL 2010
да, кстати, это событие добавлено только в XL 2010 Саня
Ответить
Сообщение да, кстати, это событие добавлено только в XL 2010 Автор - Саня Дата добавления - 02.11.2011 в 10:56
Serge_007
Дата: Среда, 02.11.2011, 11:16 |
Сообщение № 33
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Саня )
? application.enableevents + enter (чтобы посмотреть)
? application.enableevents True Quote (Саня )
это событие добавлено только в XL 2010
У меня как-раз 2010 Quote (Саня )
если ты вставляешь в модуль "ЭтаКнига", то работать будет
Всё-равно макет получается не классический.
Quote (Саня )
? application.enableevents + enter (чтобы посмотреть)
? application.enableevents True Quote (Саня )
это событие добавлено только в XL 2010
У меня как-раз 2010 Quote (Саня )
если ты вставляешь в модуль "ЭтаКнига", то работать будет
Всё-равно макет получается не классический.Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Саня )
? application.enableevents + enter (чтобы посмотреть)
? application.enableevents True Quote (Саня )
это событие добавлено только в XL 2010
У меня как-раз 2010 Quote (Саня )
если ты вставляешь в модуль "ЭтаКнига", то работать будет
Всё-равно макет получается не классический.Автор - Serge_007 Дата добавления - 02.11.2011 в 11:16
Саня
Дата: Среда, 02.11.2011, 11:27 |
Сообщение № 34
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
ладно, будем копать. поставь курсор на 1-ой строке обработчика события "Private Sub Workbook_SheetPivotTableChangeSync..." F9 создай сводную да, вопрос еще как ты создаешь сводную таблицу (Вставка - Сводная Таблица) у тебя должен произойти останов на той строке, к-рую ты выделил F9
ладно, будем копать. поставь курсор на 1-ой строке обработчика события "Private Sub Workbook_SheetPivotTableChangeSync..." F9 создай сводную да, вопрос еще как ты создаешь сводную таблицу (Вставка - Сводная Таблица) у тебя должен произойти останов на той строке, к-рую ты выделил F9 Саня
Ответить
Сообщение ладно, будем копать. поставь курсор на 1-ой строке обработчика события "Private Sub Workbook_SheetPivotTableChangeSync..." F9 создай сводную да, вопрос еще как ты создаешь сводную таблицу (Вставка - Сводная Таблица) у тебя должен произойти останов на той строке, к-рую ты выделил F9 Автор - Саня Дата добавления - 02.11.2011 в 11:27
Serge_007
Дата: Среда, 02.11.2011, 11:35 |
Сообщение № 35
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Саня )
у тебя должен произойти останов на той строке, к-рую ты выделил F9
Строка выделилась желтым, слева коричневый кружок, с желтой стрелочкой. Quote (Саня )
ак ты создаешь сводную таблицу
Мастером
Quote (Саня )
у тебя должен произойти останов на той строке, к-рую ты выделил F9
Строка выделилась желтым, слева коричневый кружок, с желтой стрелочкой. Quote (Саня )
ак ты создаешь сводную таблицу
МастеромSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Саня )
у тебя должен произойти останов на той строке, к-рую ты выделил F9
Строка выделилась желтым, слева коричневый кружок, с желтой стрелочкой. Quote (Саня )
ак ты создаешь сводную таблицу
МастеромАвтор - Serge_007 Дата добавления - 02.11.2011 в 11:35
Саня
Дата: Среда, 02.11.2011, 12:23 |
Сообщение № 36
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
значит событие происходит, но почему не меняет макет, хз. когда желтая стрелка появится, потыкай F8 до выхода из обработчика события, смотри на сводную после прохождения кода по главной строке. а попробуй вставка-сводная таблица (здесь даже дважды это событие "простреливает") ps не могу найти на ленте этот мастер - никогда им не пользовался, он не на ленте, судя по всему...
значит событие происходит, но почему не меняет макет, хз. когда желтая стрелка появится, потыкай F8 до выхода из обработчика события, смотри на сводную после прохождения кода по главной строке. а попробуй вставка-сводная таблица (здесь даже дважды это событие "простреливает") ps не могу найти на ленте этот мастер - никогда им не пользовался, он не на ленте, судя по всему... Саня
Ответить
Сообщение значит событие происходит, но почему не меняет макет, хз. когда желтая стрелка появится, потыкай F8 до выхода из обработчика события, смотри на сводную после прохождения кода по главной строке. а попробуй вставка-сводная таблица (здесь даже дважды это событие "простреливает") ps не могу найти на ленте этот мастер - никогда им не пользовался, он не на ленте, судя по всему... Автор - Саня Дата добавления - 02.11.2011 в 12:23
Саня
Дата: Среда, 02.11.2011, 12:35 |
Сообщение № 37
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
у меня и с мастером все работает как надо
у меня и с мастером все работает как надо Саня
Ответить
Сообщение у меня и с мастером все работает как надо Автор - Саня Дата добавления - 02.11.2011 в 12:35
Serge_007
Дата: Среда, 02.11.2011, 13:40 |
Сообщение № 38
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Саня )
и с мастером все работает как надо
Потрясающе! Галка Классический макет сводной таблицы (разрешено перетаскивание полей) ставится, но поля НЕ ПЕРЕТАСКИВАЮТСЯ !..
Quote (Саня )
и с мастером все работает как надо
Потрясающе! Галка Классический макет сводной таблицы (разрешено перетаскивание полей) ставится, но поля НЕ ПЕРЕТАСКИВАЮТСЯ !..Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Саня )
и с мастером все работает как надо
Потрясающе! Галка Классический макет сводной таблицы (разрешено перетаскивание полей) ставится, но поля НЕ ПЕРЕТАСКИВАЮТСЯ !..Автор - Serge_007 Дата добавления - 02.11.2011 в 13:40
Саня
Дата: Среда, 02.11.2011, 13:43 |
Сообщение № 39
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
так и есть, поля не перетаскиваются, а галочка стоит. УУУУУУУУ! Демократия в опасности!!!
так и есть, поля не перетаскиваются, а галочка стоит. УУУУУУУУ! Демократия в опасности!!! Саня
Ответить
Сообщение так и есть, поля не перетаскиваются, а галочка стоит. УУУУУУУУ! Демократия в опасности!!! Автор - Саня Дата добавления - 02.11.2011 в 13:43
Саня
Дата: Среда, 02.11.2011, 14:05 |
Сообщение № 40
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
чудо науки и техники [vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True On Error Resume Next Target.RowAxisLayout xlTabularRow Debug.Print Now End Sub
[/vba]
чудо науки и техники [vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True On Error Resume Next Target.RowAxisLayout xlTabularRow Debug.Print Now End Sub
[/vba] Саня
Ответить
Сообщение чудо науки и техники [vba]Код
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) Target.InGridDropZones = True On Error Resume Next Target.RowAxisLayout xlTabularRow Debug.Print Now End Sub
[/vba] Автор - Саня Дата добавления - 02.11.2011 в 14:05