저는 db에서 데이터를 가져온 다음 해당 데이터의 피벗을 만드는 매크로를 만듭니다. 하지만이 일을하면서 나는 몇 가지 의견과 함께 1004 오류가 발생합니다. 이 명령은 소스 데이터의 두 개 이상의 행을 필요 - : 여기에 오류가 나는이 런타임 오류 '1004'를 가지고 을 말하는 내 코드데이터를 db에서 방금 가져 오면 피벗을 만들 수 없습니다.
Sub CreatePivot()
Dim objTable As PivotTable, objField As PivotField
ActiveWorkbook.Sheets("data").Select
' data is name of the sheet
Range("A1").Select
**Set objTable = Sheet1.PivotTableWizard**
Set objField = objTable.PivotFields("name")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("location")
objField.Orientation = xlRawField
Set objField = objTable.PivotFields("blaa")
objField.Orientation = xlRowField
' Specify a data field with its summary
' function and format.
Set objField = objTable.PivotFields("money")
objField.Orientation = xlDataField
objField.Function = xlSum
objField.NumberFormat = " #,##0"
' Specify a page field.
'Set objField = objTable.PivotFields("GENDER")
'objField.Orientation = xlPageField
' Preview the new PivotTable report.
ActiveSheet.PrintPreview
' Prompt the user whether to delete the PivotTable.
Application.DisplayAlerts = False
If MsgBox("Delete the PivotTable?", vbYesNo) = vbYes Then
ActiveSheet.Delete
End If
Application.DisplayAlerts = True
End Sub
입니다. 한 행의 선택에서만 명령을 사용할 수 없습니다. 다음을 시도해보십시오. 고급 필터를 사용하는 경우 데이터 행이 두 개 이상 포함 된 셀 범위를 선택하십시오. 그런 다음 고급 필터 명령을 다시 클릭하십시오. 피벗 테이블 보고서 또는 피벗 차트 보고서를 만드는 경우, 내 코드가 설정 objTable 붙어지고 여기
를 [가 여기 중지]을 입력 = Sheet1.PivotTableWizard
같은 코드가 난을 복용하여 사용하는 경우 신선한 데이터를 누른 다음 작업. 여기 btn_click을 사용하여 db에서 데이터를 가져오고 that.one 매크로 뒤에있는 두 개의 매크로는 데이터를 가져오고 두 번째 매크로는 creat pivot에 있습니다. 그러나 문제는 다가옵니다. 아무도 이것에서 도울 수 있습니까?
감사합니다. Mike. 나는 아래의 접근법을 시도했다. 하지만 피벗 캐시를 사용할 수는 없습니다. 제 코드를 어디서 업데이트 할 수 있습니까? 나는 피벗 캐쉬 (pivotcache)에 대해 읽었지 만 여기에서는 같은 것을 사용하는 방법을 모르겠다. – honey