2013-07-15 2 views
1

약간의 배경; 월요일에 일주일에 한 번씩 주간 보고서를 작성해야하지만, 자료를 통합해야하고 피벗 테이블을 만들었으며 여러 워크 시트에 대해이 작업을 수행해야합니다. 그러나이 중복 작업을 수행하기 위해 매크로를 작성하기로 결정했습니다. 그것을 만든 지금이 오류 메시지가 "잘못된 프로 시저 또는 인수"것 같습니다. 그의 코드가 새 작업 표에서 열릴 수 없습니다. >>VBA; 잘못된 프로 시저 또는 인수 오류

Sub weekmaster() 
' 
' weekmaster Macro 
' Macro for the week 
' 
' Keyboard Shortcut: Ctrl+t 
' 
    Cells.Select 
    Sheets.Add 
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
     "weekmaster!R1C1:R1048576C62", Version:=xlPivotTableVersion12). _ 
     CreatePivotTable TableDestination:="Sheet9!R3C1", TableName:="PivotTable1" _ 
     , DefaultVersion:=xlPivotTableVersion12 
    Sheets("Sheet9").Select 
    Cells(3, 1).Select 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Order ID") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
+0

당신 : 나는 새로운 워크 시트에 새로운 피벗 테이블이 데이터 시트로 이동하여 매크로를 실행할 때마다 생성 될 당신, 당신은 다음과 같이 코드를 업데이트 할 수 있다고 가정하는 나는 경우 TableDestination이 유효하지 않은 경우 해당 오류가 발생할 수 있습니다. (즉, 그 이름을 가진 시트가 존재하지 않습니다.) – Stepan1010

답변

0

당신은 당신이 한 번 이상 매크로 이상을 실행하면 오류가 발생하거나 매크로 시도가 동일한 시트에 같은 이름으로 같은 피벗 테이블을 만들 수 있기 때문에 Sheet9 이미 (존재하는 경우거야).

Dim myRange as Range 
dim myNewSheet as Worksheet 

' Stores all continuous data on the sheet in the myRange variable 
Set myRange = Range("A1").CurrentRegion 

' Adds a new sheet and stores it in the myNewSheet variable 
Set myNewSheet = Sheets.Add 

' Use the variables to create the new pivot table 
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    myRange, Version:=xlPivotTableVersion12).CreatePivotTable _ 
    TableDestination:=myNewSheet.Cells(3, 1), DefaultVersion _ 
    :=xlPivotTableVersion12 

' Select your Order ID field 
With myNewSheet.PivotTables(1).PivotFields("Order ID") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
1

하나의 인수가 누락 된 것으로 보입니다. CreatePivotTable는 다음 인수를 취합니다

expression.CreatePivotTable (TableDestination, TABLENAME,가 ReadData, DefaultVersion를)

  1. TableDestination 필수 변형 피벗 테이블 보고서의 대상 범위 (범위상의의 왼쪽 상단 모서리에있는 세포 결과 피벗 테이블 보고서가 배치되는 워크 시트). 대상 범위는 식에 지정된 PivotCache 개체가 포함 된 통합 문서의 워크 시트에 있어야합니다.
  2. TableName 선택적 Variant 새 피벗 테이블 보고서의 이름입니다.
  3. ReadData 선택적 Variant 외부 데이터베이스의 모든 레코드가 포함 된 피벗 테이블 캐시를 만들려면 True, 이 캐시는 매우 클 수 있습니다. 데이터가 실제로 읽히기 전에 일부 필드를 서버 기반 페이지 필드로 설정하려면 거짓.
  4. DefaultVersion 선택적 Variant 피벗 테이블 보고서의 기본 버전입니다.

그러면 TableName과 DefaultVersion 사이에 'true'를 추가 할 수 있습니다.

건배, LC

관련 문제