Отчет - Аналитика реализации товаров Управление сбытом
Добавлено: 01 дек 2009, 13:30
Доброго времени суток.
Подскажите, пожалуйста, столкнулся с такой проблемой…
Описание проблемы:
Управление сбытом – отчеты – Аналитика реализации товаров – по настраиваемым разрезам.
МЦ надо выбрать больше 9000
Контрагенты все.
Нажимаем сформировать.
Выдает….
"Microsoft visual basic"
Run_time error '1004'
Нельзя установить свойство orientation класса Pivotfield
End debug Help
Если нажать на END. Открывается отчет, но данных никаких нет.
При нажатии debug открывается форма..
____________________________________________________________
Sub GetGroup()
'построение сводной таблицы
Dim a1 As Long, a2 As Long
Worksheets("Gal_VarSheet").Activate
a1 = CLng(Range("GalDBVar_GrDat").Value)
a2 = CLng(Range("GalDBVar_GrDatDn").Value)
Worksheets("Отчет").Activate
On Error Resume Next
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Gal_TblSheet!GalDBTbl_DBData").CreatePivotTable TableDestination:=Range("B12"), _
TableName:="SvodTable1"
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"Gal_TblSheet!GalDBTbl_DBData", TableDestination:=Range("B12"), TableName:= _
"SvodTable1"
On Error GoTo 0
With Worksheets("Отчет").PivotTables("SvodTable1")
On Error Resume Next
.SmallGrid = False
.RowGrand = False
On Error GoTo 0
'--страницы
With .PivotFields("Организация")
.Orientation = xlPageField
.Position = 1
End With
With .PivotFields("Группа_МЦ")
.Orientation = xlPageField
.Position = 2
End With
'--записи
With .PivotFields("МЦ")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("Остаток")
.Orientation = xlRowField
.Position = 2
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
With .PivotFields("Дата")
.Orientation = xlRowField
.Position = 3
.ShowAllItems = True
End With
'--данные
With .PivotFields("КолВо_")
.Orientation = xlDataField!!!!(выделенно желтым)!!!!!
.Position = 1
End With
With .PivotFields("Сумма_")
.Orientation = xlDataField
.Position = 2
End With
With .PivotFields("СуммаV")
.Orientation = xlDataField
.Position = 3
End With
'определяем язык офиса
'0 - English
'1033 - Russian
'If Application.LanguageSettings.LanguageID(msoLanguageIDUI) = 0 Then
' .CalculatedFields.Add "Цена_", "= IF('КолВо_'=0;0;'Сумма_'/'КолВо_')"
' .CalculatedFields.Add "ЦенаV", "= IF('КолВо_'=0;0;'СуммаV'/'КолВо_')"
'Else
' .CalculatedFields.Add "Цена_", "= ЕСЛИ('КолВо_'=0;0;'Сумма_'/'КолВо_')"
' .CalculatedFields.Add "ЦенаV", "= ЕСЛИ('КолВо_'=0;0;'СуммаV'/'КолВо_')"
'End If
On Error Resume Next
.CalculatedFields.Add "Цена_", "= IF('КолВо_'=0;0;'Сумма_'/'КолВо_')"
.CalculatedFields.Add "Цена_", "= ЕСЛИ('КолВо_'=0;0;'Сумма_'/'КолВо_')"
.CalculatedFields.Add "ЦенаV", "= IF('КолВо_'=0;0;'СуммаV'/'КолВо_')"
.CalculatedFields.Add "ЦенаV", "= ЕСЛИ('КолВо_'=0;0;'СуммаV'/'КолВо_')"
On Error GoTo 0
.PivotFields("Цена_").Orientation = xlDataField
.PivotFields("ЦенаV").Orientation = xlDataField
'--переносим в данные в шапку
With .PivotFields(11)
.Orientation = xlColumnField
.Position = 1
End With
'--переименовываем шапку
.DataFields(1).Name = "Кол-во"
.DataFields(2).Name = "Сумма"
.DataFields(3).Name = "Сумма, $"
.DataFields(4).Name = "Цена"
.DataFields(5).Name = "Цена, $"
'группировки по датам
Range("D13").Select
Select Case a1
Case 0
Selection.Group Start:=True, End:=True, By:=a2, Periods:=Array(False, False, False, True, False, False, False)
Case 1
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, False, False)
Case 2
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, False, True, False)
End Select
.RefreshTable
End With
Application.CommandBars("PivotTable").Visible = True
'--Рисуем диаграмму
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Отчет").Range("B13")
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.ChartType = xlColumnClustered
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False
Sheets("Отчет").Select
Range("A1").Select
End Sub
_______________________________________________________
Вопрос.
Что делать? И как исправить?
Заранее благодарен
Подскажите, пожалуйста, столкнулся с такой проблемой…
Описание проблемы:
Управление сбытом – отчеты – Аналитика реализации товаров – по настраиваемым разрезам.
МЦ надо выбрать больше 9000
Контрагенты все.
Нажимаем сформировать.
Выдает….
"Microsoft visual basic"
Run_time error '1004'
Нельзя установить свойство orientation класса Pivotfield
End debug Help
Если нажать на END. Открывается отчет, но данных никаких нет.
При нажатии debug открывается форма..
____________________________________________________________
Sub GetGroup()
'построение сводной таблицы
Dim a1 As Long, a2 As Long
Worksheets("Gal_VarSheet").Activate
a1 = CLng(Range("GalDBVar_GrDat").Value)
a2 = CLng(Range("GalDBVar_GrDatDn").Value)
Worksheets("Отчет").Activate
On Error Resume Next
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Gal_TblSheet!GalDBTbl_DBData").CreatePivotTable TableDestination:=Range("B12"), _
TableName:="SvodTable1"
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"Gal_TblSheet!GalDBTbl_DBData", TableDestination:=Range("B12"), TableName:= _
"SvodTable1"
On Error GoTo 0
With Worksheets("Отчет").PivotTables("SvodTable1")
On Error Resume Next
.SmallGrid = False
.RowGrand = False
On Error GoTo 0
'--страницы
With .PivotFields("Организация")
.Orientation = xlPageField
.Position = 1
End With
With .PivotFields("Группа_МЦ")
.Orientation = xlPageField
.Position = 2
End With
'--записи
With .PivotFields("МЦ")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("Остаток")
.Orientation = xlRowField
.Position = 2
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
With .PivotFields("Дата")
.Orientation = xlRowField
.Position = 3
.ShowAllItems = True
End With
'--данные
With .PivotFields("КолВо_")
.Orientation = xlDataField!!!!(выделенно желтым)!!!!!
.Position = 1
End With
With .PivotFields("Сумма_")
.Orientation = xlDataField
.Position = 2
End With
With .PivotFields("СуммаV")
.Orientation = xlDataField
.Position = 3
End With
'определяем язык офиса
'0 - English
'1033 - Russian
'If Application.LanguageSettings.LanguageID(msoLanguageIDUI) = 0 Then
' .CalculatedFields.Add "Цена_", "= IF('КолВо_'=0;0;'Сумма_'/'КолВо_')"
' .CalculatedFields.Add "ЦенаV", "= IF('КолВо_'=0;0;'СуммаV'/'КолВо_')"
'Else
' .CalculatedFields.Add "Цена_", "= ЕСЛИ('КолВо_'=0;0;'Сумма_'/'КолВо_')"
' .CalculatedFields.Add "ЦенаV", "= ЕСЛИ('КолВо_'=0;0;'СуммаV'/'КолВо_')"
'End If
On Error Resume Next
.CalculatedFields.Add "Цена_", "= IF('КолВо_'=0;0;'Сумма_'/'КолВо_')"
.CalculatedFields.Add "Цена_", "= ЕСЛИ('КолВо_'=0;0;'Сумма_'/'КолВо_')"
.CalculatedFields.Add "ЦенаV", "= IF('КолВо_'=0;0;'СуммаV'/'КолВо_')"
.CalculatedFields.Add "ЦенаV", "= ЕСЛИ('КолВо_'=0;0;'СуммаV'/'КолВо_')"
On Error GoTo 0
.PivotFields("Цена_").Orientation = xlDataField
.PivotFields("ЦенаV").Orientation = xlDataField
'--переносим в данные в шапку
With .PivotFields(11)
.Orientation = xlColumnField
.Position = 1
End With
'--переименовываем шапку
.DataFields(1).Name = "Кол-во"
.DataFields(2).Name = "Сумма"
.DataFields(3).Name = "Сумма, $"
.DataFields(4).Name = "Цена"
.DataFields(5).Name = "Цена, $"
'группировки по датам
Range("D13").Select
Select Case a1
Case 0
Selection.Group Start:=True, End:=True, By:=a2, Periods:=Array(False, False, False, True, False, False, False)
Case 1
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, False, False)
Case 2
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, False, True, False)
End Select
.RefreshTable
End With
Application.CommandBars("PivotTable").Visible = True
'--Рисуем диаграмму
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Отчет").Range("B13")
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.ChartType = xlColumnClustered
ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False
Sheets("Отчет").Select
Range("A1").Select
End Sub
_______________________________________________________
Вопрос.
Что делать? И как исправить?
Заранее благодарен