powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007, сводные таблицы, итоги
7 сообщений из 32, страница 2 из 2
Excel 2007, сводные таблицы, итоги
    #36874518
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петр К.,

Ничего не меняли в первоисточнике? у меня не ругается.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ну объявите тип, может в этом дело
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Integer
Set pvfld = ActiveSheet.PivotTables("СводнаяТаблица5").PivotFields("Дата")
x =  0 
    With pvfld
        For i =  1  To .PivotItems.Count
            If .PivotItems(i).Visible = True Then x = x +  1 
        Next
    ActiveSheet.PivotTables("СводнаяТаблица5").CalculatedFields("Поле1").StandardFormula = "= " & x
    End With

End Sub
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36874586
Петр К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, не менял.

> ну объявите тип, может в этом дело
К сожалению, с бейсиком не сталкивался.
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36874989
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петр К.,

парадокс какой то
попробуйте на другой машине
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36875408
Петр К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На другой работает. Забавно..
Спасибо, буду разбираться.
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36882057
Петр К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После переустановки офсиа в игрушечной эксельке макрос заработал, но в настоящей сводной таблице - нет.

В рантайме вылетала ошибка type mismatch, а в отладке я обнаружил, что при попытке доступа к свойству Visible вылетает "Error 2042". На форуме mrexcel.com я обнаружил, что это означает Not Available.

Оказалось, что эксель не умеет работать таким образом с данными, которые подтягиваются напрямую из БД. Я слил исходные данные отчета на отдельную страницу, построил сводную по ним, и эта штука, наконец, заработала. Спасибо Шаманусу за скрипт.

Теперь, для полного счастья, надо было повесить это дело на более подходящее событие, пушо пересчитывать всю таблицу при каждом клике не по-джедайски.

Вот что получилось:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim x As Integer

    Set pvfld = ActiveSheet.PivotTables("PivotTableName").PivotFields("DATE_SCAN")
   
    x =  0 
      
    For Each pviItem In pvfld.PivotItems
      If pviItem.Visible Then x = x +  1 
    Next
    
    Set calcfld_val = ActiveSheet.PivotTables("PivotTableName").CalculatedFields("calcfld")
    
    If calcfld_val.StandardFormula <> "= " & x Then
        calcfld_val.StandardFormula = "= " & x
    End If

End Sub

Всем спасибо.
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36890762
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бэлый, Красный, Галубой - Выбэрай сабе любой!!!
...
Рейтинг: 0 / 0
Excel 2007, сводные таблицы, итоги
    #36892353
Петр К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad, спасибо. Буду ковырять.
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007, сводные таблицы, итоги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]