當前位置:編程學習大全網 - 源碼下載 - Excel中用VBA腳本實現斷開壹個切片器與所有透視表的連接

Excel中用VBA腳本實現斷開壹個切片器與所有透視表的連接

經測試,通過 SlicerCache 對象中的 PivotTable 時不好傳入作為索引號的變量,或許是微軟的 BUG,我把?ActiveWorkbook.SlicerCaches("Slicer_Year").PivotTables.Item(i) 中的變量 i 改成 1 即可成功引用到名為 "Slicer_Year" 這個切片器緩存裏面的數據透視表對象。

下面是壹個通用的移除到指定切片器緩存的所有數據透視表連接的 SUB 過程:

'?####################################################################

'?[功能描述]?切斷到指定切片器緩存的所有數據透視表連接.

'?[參數列表]?1.?Target?目標工作簿;

'2.?SlicerCacheNameOrIndex?切片器緩存名稱或索引號?(可選).

'?[返回類型]?無.

'?####################################################################

Public?Sub?DisconnectAllPivotTablesFromSlicerCache(ByVal?Target?As?Workbook,?_

ByVal?SlicerCacheNameOrIndex?As?Variant)

Dim?sliCacheAs?SlicerCache

Dim?sliCachesAs?SlicerCaches

On?Error?Resume?Next

Set?sliCaches?=?Target.SlicerCaches

If?sliCaches.Count?Then

Dim?spTables?As?SlicerPivotTables

Set?sliCache?=?sliCaches(SlicerCacheNameOrIndex)

Set?spTables?=?sliCache.PivotTables

While?spTables.Count

spTables.RemovePivotTable?1

Wend

End?If

Set?spTables?=?Nothing

Set?sliCache?=?Nothing

Set?sliCaches?=?Nothing

End?Sub

調用如下:

DisconnectAllPivotTablesFromSlicerCache?ActiveWorkbook, "Slicer_Year"

如果妳的?"Slicer_Year" 的索引號是 1,那麽也可以這樣調用

DisconnectAllPivotTablesFromSlicerCache?ActiveWorkbook, 1

運行效果:

  • 上一篇:在ppt中播放背景音樂提示未響應怎麽辦?
  • 下一篇:Linux Kernel 2.4 和 2.6 的區別
  • copyright 2024編程學習大全網