我有一個工作簿,其中包含由宏更新的數據透視表。該數據被刷新之前,雖然,連接字符串得到改變:使用Excel VBA更改連接字符串時創建的新數據連接
With ThisWorkbook.Connections("Data").ODBCConnection
.Connection = [Redacted]
.CommandText = "EXEC ExtractCases " & Client
.BackgroundQuery = False
.Refresh
End With
這似乎會導致數據透視表創建一個新的連接(或者叫做Connection
或Data1
,我似乎無法找出什麼它的確可以在它們之間做出選擇)並且指出這一點。所以,我再要補充線這樣的:
Sheets("Pivot").PivotTables("Pivot").ChangeConnection ThisWorkbook.Connections("Data")
Sheets("Pivot").PivotTables("Pivot").PivotCache.Refresh
這似乎工作(當它不除外),但留下了很多死連接工作簿敲周圍造成混亂。
我已經試過手動刪除Connection
連接,但隨後突然名字本身Data1
本身沒有明顯的原因,系統被打亂,因爲不存在Connection
不能被刪除。
有什麼明顯的我做錯了嗎?是否有一些神奇的方法可以解決這個問題,所以它不會在第一個地方造成這種頭痛?
注意:我在Excel 2010中運行此代碼,但工作簿必須在2003年之前可以打開;然而,我在發佈之前刪除了VB模塊,所以2010宏的東西很好,只是在工作簿中的東西可能會被絆倒... ...
成才的Theres我還不完全瞭解。你每次都改變(必須改變)連接嗎?或者由excel神奇地完成? – pintxo 2011-05-11 06:38:59
@cmmi:我需要每次更改連接 - 這是一份針對我們公司的所有客戶端運行的報告,並且每次都只有該客戶端的數據。 – Margaret 2011-05-16 02:29:20