2014-10-10 1 views
0

피벗 차트 만들기 매크로를 기록하려고했습니다. 이전 차트를 삭제 한 후 recorde33d 매크로를 실행하면 오류가 생성됩니다. ?. "잘못된 프로 시저 호출 또는 인수가 ' 오류는매크로 레코드 - 피벗 차트가 작동하지 않습니다.

Sub Macro5() 

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
     "Warranty!R1C1:R1048576C52", Version:=xlPivotTableVersion15). _ 
     CreatePivotTable TableDestination:="Customer Pareto!R12C6", TableName:= _ 
     "PivotTable4", DefaultVersion:=xlPivotTableVersion15 
    Sheets("Customer Pareto").Select 

    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 
    ActiveChart.SetSourceData Source:=Range("'Customer Pareto'!$F$12:$H$29") 
    ActiveChart.PivotLayout.PivotTable.AddDataField ActiveChart.PivotLayout. _ 
     PivotTable.PivotFields("VEH_IDENT_NBR"), "Count of VEH_IDENT_NBR", xlCount 
    With ActiveChart.PivotLayout.PivotTable.PivotFields("Step") 
     .Orientation = xlColumnField 
     .Position = 1 
    End With 
    With ActiveChart.PivotLayout.PivotTable.PivotFields("SA Status") 
     .Orientation = xlColumnField 
     .Position = 2 
    End With 
    With ActiveChart.PivotLayout.PivotTable.PivotFields("SA_Failure_Mode") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
    ActiveChart.ChartType = xlBarStacked 
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("SA_Failure_Mode") 
     .PivotItems("").Visible = False 
     .PivotItems("(blank)").Visible = False 
    End With 
    ActiveSheet.ChartObjects("Chart 6").Activate 
    ActiveSheet.Shapes("Chart 6").IncrementLeft 102 
    ActiveSheet.Shapes("Chart 6").IncrementTop -87 
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Step") 
     .PivotItems("").Visible = False 
     .PivotItems("(blank)").Visible = False 
    End With 
    Range("G13").Select 
    ActiveSheet.PivotTables("PivotTable4").PivotFields("Step").PivotItems(_ 
     "Implementation").ShowDetail = False 
    Range("H13").Select 
    ActiveSheet.PivotTables("PivotTable4").PivotFields("Step").PivotItems(_ 
     "Solution").ShowDetail = False 
    ActiveSheet.ChartObjects("Chart 6").Activate 
End Sub 

답변

0

수정 차트 매크로를 수행 할 아니면 그냥 매크로를 기록 할 때 작동하지 않습니다 선회 할 수있는 첫 번째 라인을 강조하고 요구 사항에 따라 이것을 사용 :

주요 사항 :

1. TableDestination

는 = 아니오 피벗 테이블 범위이어야한다

2.Change :. TableDestination = 시트 이름 대신 demo = xlPivotTableVersion15 대신 10

3.Before 아래 하위를 호출 DefaultVersion는 activesheet 당신은 오피스 2007 MS KB link이 오류에 대한 정보를 얻을 볼 수있다 '

Sub Make_PivotTable() 
    Debug.Print ActiveWorkbook.PivotCaches.Count 
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ 
     ActiveSheet.UsedRange).CreatePivotTable TableDestination:="demo!R1C1", TableName:= _ 
     "PivotTable1", DefaultVersion:=xlPivotTableVersion10 
    Sheets("demo").PivotTables("PivotTable1").AddFields RowFields:="Name" 
    Sheets("demo").PivotTables("PivotTable1").PivotFields("Age").Orientation = _ 
     xlDataField 

    Debug.Print ActiveWorkbook.PivotCaches.Count 
End Sub 

sourceData

을 포함하는 시트해야합니다.

'답변으로 표시하고/upvote를 돕는 경우 구현 후에 발생한 문제에 대한 의견을 보내주십시오.

+0

여전히 같은 오류가 발생합니다. 아래에서 내가 뭘 잘못하고 있는지 알 수 있니? –

+0

워크 시트 ("보증") ActiveWorkbook.PivotCaches.Add (SOURCETYPE = xlDatabase, SourceData : = _ ActiveSheet.UsedRange) 활성화합니다. .CreatePivotTable TableDestination = "! 고객 파레토 데이터 R1C1"TABLENAME : = _ "고객을 Pareto ", DefaultVersion : = xlPivotTableVersion15 –

+0

워크 시트 이름은 통합 문서의 실제 이름과 일치해야합니다. TableDestination 문자열을 확인하십시오. – ZAT