2014-03-26 2 views
0

Excel에서 일부 매크로를 기록했는데 피벗 테이블을 만들 때 매크로를 기록 할 때까지 완벽하게 작동했지만 이후에는 "런타임 오류 '5' 호출 또는 인수 "를 반환합니다. 파일의 확장자를 .xlsm으로 변경하려고했지만 작동하지 않았습니다 !! VB
에서기록 된 매크로를 실행할 때 런타임 오류가 발생했습니다.

임 아주없는 전문가는 다음과 같은 코드

내가 디버그를 수행 할 때 내가 처음 4 줄에 오류가 표시
Sub pivot() 
' 
' pivot Macro 
' 

' 
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "dynamictable", Version:=xlPivotTableVersion14).CreatePivotTable _ 
    TableDestination:="All Wanting!R10C11", TableName:="PivotTable6", _ 
    DefaultVersion:=xlPivotTableVersion14 

Sheets("All Wanting").Select 
Cells(10, 11).Select 
With ActiveSheet.PivotTables("PivotTable6").PivotFields("Date") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable6").PivotFields("Date"), "Count of Date", xlCount 
With ActiveSheet.PivotTables("PivotTable6").PivotFields("Type") 
    .Orientation = xlColumnField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable6").PivotFields("Date"), "Count of Date2", xlCount 
With ActiveSheet.PivotTables("PivotTable6").PivotFields("Count of Date2") 
    .Caption = "Sum of Date2" 
    .Function = xlSum 
End With 
Range("K8").Select 

End Sub 

입니다!

어떤 아이디어?!

+0

코드에서 단어로 수행하려는 작업을 설명해 주시겠습니까? 즉. sheet1의 데이터에서 피벗 테이블을 만들고, 날짜순으로 정렬하고, 카운트 대신에 합계 된 값을 표시하는 필드를 변경합니다. – Calico

답변

0

Excel에서 ALT-F11 키를 눌러 VBA 창으로 이동할 수 있습니다. 그런 다음 메뉴 표시 줄의 Debug-> Compile VBA Project 명령을 사용하여 오류를 찾을 수 있습니다.

또한 VBA 소스 파일의 맨 위에 "Option Explicit"을 넣어야합니다.이 옵션을 사용하면 변수를 사용하기 전에 선언 된 변수가 있어야하고 잠재적 인 코드 문제를 찾을 수 있습니다.

또한 Sub pivot()에서 중단 점을 설정하고 디버거에서 코드를 단계별로 실행하여 위의 제안 사항이 도움이되지 않으면 런타임 오류를 확인할 수 있습니다.

관련 문제