我正在創建一個宏,我從db中獲取一些數據,然後創建該數據的透視圖。但在做這件事時,我得到了一些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
錯誤是說 我得到這個運行時錯誤「1004」: - 此命令要求源數據的至少兩行。您只能在一行中的選擇上使用該命令。請嘗試以下操作:如果您使用的是高級過濾器,請選擇包含至少兩行數據的單元格區域。然後再次單擊高級篩選命令。如果你正在創建一個數據透視表或數據透視圖報表,鍵入此處[停止這裏]
是我的代碼卡住設置objTable = Sheet1.PivotTableWizard
時相同的代碼我通過採取使用新的數據然後工作。這裏我使用btn_click和後面的兩個宏從數據庫獲取數據。一個宏獲取數據,然後在第二個宏創建樞軸處存在。但問題即將到來。任何人都可以幫忙嗎?
感謝邁克。我嘗試了下面的方法。但不能使用數據透視緩存。你能幫我在哪裏更新我的代碼。我閱讀了關於pivotcache的知識,但是不知道如何在這裏使用。 – honey