Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Pivot Table / 14 сообщений из 14, страница 1 из 1
13.09.2006, 14:43
    #33984271
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
вообщем создаю я сводную таблицу, на основе данных, при этом я предыдущий лист удаляю, потом создаю новый лист и там сводную таблицу, и так каждый раз при формированиии отчета...
Sheets("Исход").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Исход").Select
Sheets.Add
Sheets("Лист2").Select
Sheets("Лист2").Name = "Отчет"
Range("A1").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
s).CreatePivotTable TableDestination:= _
"'[ 2006.xls]Отчет!R3C1", TableName:= _
"Своднаятаблица2", DefaultVersion:=xlPivotTableVersion10
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("Ãîðîä")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("RDATE")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("GRUPPA_CODE3")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("Своднаятаблица2").AddDataField ActiveSheet.PivotTables _
("Своднаятаблица2").PivotFields("Sum-Sum-Îáîðîò"), _
"Ñóììà ïî ïîëþ Sum-Sum-Îáîðîò", xlSum
ActiveSheet.PivotTables("Своднаятаблица2").AddDataField ActiveSheet.PivotTables _
("Своднаятаблица2").PivotFields("Sum-Sum-Îáîðîò"), _
"Ñóììà ïî ïîëþ Sum-Sum-Îáîðîò2", xlSum
ActiveSheet.PivotTables("Своднаятаблица2").AddDataField ActiveSheet.PivotTables _
("Своднаятаблица2").PivotFields("Íàöåíêà, ðóá"), "Ñóììà ïî ïîëþ Íàöåíêà, ðóá", _
xlSum
' ActiveSheet.PivotTables("Своднаятаблица2").AddDataField ActiveSheet.PivotTables _
("Своднаятаблица2").PivotFields("Íàöåíêà, %"), "Ñóììà ïî ïîëþ Íàöåíêà, %", _
xlSum
ActiveSheet.PivotTables("Своднаятаблица2").CalculatedFields.Add "Ïîëå2", _
"= ('Sum-Sum-Îáîðîò'-'Sum-Çàê' )/'Sum-Çàê'", True
ActiveSheet.PivotTables("ÑâîäíàÿÒàáëèöà2").PivotFields("Ïîëå2").Orientation = _
xlDataField


With ActiveSheet.PivotTables("ÑâîäíàÿÒàáëèöà2").PivotFields( _
"Ñóììà ïî ïîëþ Sum-Sum-Îáîðîò2")
.Calculation = xlPercentOfColumn
.NumberFormat = "0,00%"
End With
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False


а как мне сделать что бы не удалять лист, а добавлять данные..
...
Рейтинг: 0 / 0
13.09.2006, 14:46
    #33984295
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
и еще
ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").PivotItems( _
"2").ShowDetail = False
это я редактирую.. чтоб подгруппы свернулись...
а можно это сделать как нибудь по другому
ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").ShowDetail = False так не хочет
мне надо что бы все подгруппы сразу сворачивались
...
Рейтинг: 0 / 0
13.09.2006, 14:58
    #33984353
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
и еще
ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").PivotItems( _
"2").ShowDetail = False
это я редактирую.. чтоб подгруппы свернулись...
а можно это сделать как нибудь по другому
ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").ShowDetail = False так не хочет
мне надо что бы все подгруппы сразу сворачивались
...
Рейтинг: 0 / 0
14.09.2006, 15:26
    #33987638
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
... А оно Вам обязательно каждый раз новую таблицу создавать?
Может имеет смысл в готовой данные обновить? ;)
...
Рейтинг: 0 / 0
14.09.2006, 15:55
    #33987803
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
вот мне и надо добавлять новые данные... а не создавать заново... только я пробовала и у меня постояно ошибки выводит.. вот и спрашиваю как сделать?
...
Рейтинг: 0 / 0
14.09.2006, 15:56
    #33987812
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
вот мне и надо добавлять новые данные... а не создавать заново... только я пробовала и у меня постояно ошибки выводит.. вот и спрашиваю как сделать?
...
Рейтинг: 0 / 0
14.09.2006, 16:19
    #33987938
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
Ошибки скорее всего выводит здесь:
Код: plaintext
ActiveSheet.PivotTables("СводнаяТаблица1").PivotCache.Refresh
По какой то причине vba не хочет обращаться к таблицам по названию, но нормально обращается по индексу. Для получения индекса рисуете функцию:
Код: plaintext
1.
2.
3.
4.
5.
Function GetPivotTableNum(Sheets_NAME As String, PivotTableName As String)
For i =  1  To Sheets(Sheets_NAME).PivotTables.Count
If Sheets(Sheets_NAME).PivotTables(i).Name = PivotTableName Then z = i
Next
GetPivotTableNum = z
End Function
И начинаем обращаться к сводной таблице уже следующим образом:
Код: plaintext
ActiveSheet.PivotTables(GetPivotTableNum("Лист1","СводнаяТаблица1")).PivotCache.Refresh
...
Рейтинг: 0 / 0
15.09.2006, 12:32
    #33989871
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
спасибо.. но с добавлением я уже разобралась..
мне бы вот с этим помочь...


ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").PivotItems( _
"2").ShowDetail = False
это я редактирую.. чтоб подгруппы свернулись...
а можно это сделать как нибудь по другому
ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").ShowDetail = False так не хочет
мне надо что бы все подгруппы сразу сворачивались
...
Рейтинг: 0 / 0
27.09.2006, 14:37
    #34015918
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
up
...
Рейтинг: 0 / 0
27.09.2006, 14:44
    #34015939
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
а если макрорекордером воспользоваться? ;)
...
Рейтинг: 0 / 0
05.10.2006, 17:41
    #34035678
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
пробовала.. все равно потом не хочет..
...
Рейтинг: 0 / 0
05.10.2006, 17:49
    #34035704
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
Вообще не хочет?
Или может быть в каком то месте не хочет?
...
Рейтинг: 0 / 0
06.10.2006, 15:07
    #34038030
Бяка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
Я когда создаю св. таблицу макросом и потом редактирую, он мне выводит ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").PivotItems( _
"2").ShowDetail = False
но просто каких то пунктов может не быть и мне надо что бы независимо от того меняются ли пункты, он все сворачивал, он не хочет... скорей всего я что то делаю не так... только не могу понять что...Вот еслиб кто нибудь подскзал...
...
Рейтинг: 0 / 0
06.10.2006, 18:01
    #34038716
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Pivot Table
БякаЯ когда создаю св. таблицу макросом и потом редактирую, он мне выводит ActiveSheet.PivotTables("Своднаятаблица2").PivotFields("DEPT").PivotItems( _
"2").ShowDetail = False
но просто каких то пунктов может не быть и мне надо что бы независимо от того меняются ли пункты, он все сворачивал, он не хочет... скорей всего я что то делаю не так... только не могу понять что...Вот еслиб кто нибудь подскзал...
Код: plaintext
1.
2.
3.
4.
5.
6.
    Dim f
    Application.Calculation = xlManual 'отключение пересчета
    For Each f In ActiveSheet.PivotTables( 1 ).PivotFields("DEPT").PivotItems
        If f.ShowDetail = True Then f.ShowDetail = False
    Next
    Application.Calculation = xlAutomatic
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Pivot Table / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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