我需要創建xlPivotTableVersion10透視表(Excel 2003中兼容)通過,我在我的電腦具有Excel 2007中上運行宏創建一個版本10的數據透視表。 我從源文件運行宏。我有另一個文件(WkbVar),它是.xls,並在[兼容模式]中打開,我想創建幾個數據透視表。我設法創建一個連接到我的外部Access數據庫(DOH位置清單V6),從中獲得我的數據源以及具有此連接的數據透視表(PC)。VBA在xls文件通過Excel 2007中
Set pc = WkbVar.PivotCaches.Create(SourceType:=xlExternal,
SourceData:=WkbVar.Connections("DOH Location inventory V6") _
, Version:=xlPivotTableVersion10)
With pc
.CreatePivotTable TableDestination:=WksAlertesVar.Range("A9"),TableName:="PivotTable_0", _
DefaultVersion:=xlPivotTableVersion10
End With
樞軸緩存似乎創造得很好,但後來我就到」 .CreatePivotTable [...] DefaultVersion:= xlPivotTableVersion10" 類型1004「中定義的應用對象定義」的錯誤路線。
我已經嘗試了幾個變化,這裏是什麼,我得到一個回顧:
樞緩存版本:= xlPivotTableversion10 + 透視表 DefaultVersion:= xlPivotTableversion10 => 1004錯誤
樞軸緩存版:= xlPivotTableversion10 + 樞軸表 DefaultVersion:= xlPivotTableversion12 => 1004錯誤
樞軸緩存版:= xlPivotTableversion12 + 樞軸表 DefaultVersion:= xlPivotTableversion10 => 5錯誤 「無效過程調用」
樞軸緩存版:= xlPivotTableversion12 + 透視表 DefaultVersion:= xlPivotTableversion12 =>工作正常,但會創建一個Excel 2007數據透視表,該表對xls文件中的過濾器和刷新不兼容。
如果我停下已經創建了連接後,宏和手[兼容模式]創建數據透視表,它仍然可以作爲期望:我得到一個Excel 2003數據透視表。這使我認爲我正在嘗試做的事情是可能的,我似乎無法編寫正確的代碼...
如果任何人有任何關於如何在xls文件中創建Excel 2003數據透視表但通過Excel 2007應用程序和VBA,我將非常感謝您的知識共享。
真誠, J.
--------------編輯(以下Karter的評論)
確實存在似乎是使用外部源的問題我的數據透視表。更多的搜索和測試了一下後,我想出了以下解決方法:
With ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, Version:=xlPivotTableVersion10)
.Connection = Array()'HERE GOES ALL THE DATA RELATIVE TO MY CONNECTION TO THE ACCESS DATABASE
.CommandType = xlCmdTable
.CommandText = Array(_ 'here is the SQL string to select some data from a specific table I have in my Access database
"SELECT *" & Chr(13) & "" & Chr(10) & "FROM [DOH historique avec libelles] WHERE [DOH historique avec libelles]![Numero Site Gestionnaire] = " & NoSite _
)
.MaintainConnection = False
.CreatePivotTable TableDestination:=ActiveWorksheet.Range("A9"), TableName:="PivotTable_0", DefaultVersion:=xlPivotTableVersion10
End With
的時候我會先加只用「DATA相對TO MY連接...」的連接信息,並沒有之前。 CommandType,.CommandText等參數。
我不是很熟悉的連接參數,但我想這招有事情做與Karter強調了外部源的問題。
謝謝你花時間看看我的問題。我編輯了我的問題,以報告我對初始代碼所做的一些更改以解決該問題,我認爲這可能確實與您提到的內部/外部源問題有關。 – user1997216 2013-03-19 14:27:38