設為首頁收藏本站|繁體中文

Excel 技巧網

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

手機號碼,快捷登錄

查看: 18108|回復: 13
打印 上一主題 下一主題

[Excel VBA] 如何批量修改數據透視表的數據源?

[復制鏈接]

ET圖書作者

跳轉到指定樓層
樓主
發表于 2012-7-14 16:53:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  • 網站名稱: Excel技巧網 | Excel專家棲息谷 | 微軟中文技術社區合作伙伴
  • 站內采編: 素材源帖
  • 署名作者: 水星釣魚
  • 版權聲明: 版權歸本站與作者共有 除本站官方外非作者本人轉載須經許可并注明出處
  • 本文來自:
  • 引用作品:
  • 適用版本: 2010 
  • 語言環境: 簡體中文
  • 學習方法: 掌握Excel技巧的關鍵是動手操作 | 下載 ≠ 知識


  • 免費注冊成為本站會員,享用更多功能,結識更多Office辦公高手!

    您需要 登錄 才可以下載或查看,沒有帳號?注冊

    x
    Q:活動工作簿中的3個數據透視表數據源均是同一個,如何用VBA批量設置為另一個數據源?
    A:用PivotTable.ChangePivotCache更改數據透視表的數據源
    代碼如下:
    1. Sub xyf()
    2.     Dim oPT As PivotTable
    3.     Dim oSh As Worksheet
    4.     For Each oSh In Me.Worksheets
    5.         For Each oPT In oSh.PivotTables
    6.             oPT.ChangePivotCache ThisWorkbook.PivotCaches.Create(xlDatabase, ThisWorkbook.Worksheets("數據源2").Range("a1:h6"))
    7.         Next
    8.     Next
    9. End Sub
    復制代碼
    附件如下:
    批量修改數據透視表的數據源.rar (8.98 KB, 下載次數: 227)
    分享到:  QQ好友和群QQ好友和群
    收藏收藏
    2
    發表于 2012-7-17 15:52:24 | 只看該作者
    好辦法,原來還是可以更換數據源的啊。
    3
    發表于 2013-12-13 13:56:50 | 只看該作者
    請問如何在07中用,如果數據源超過65536行,新數據源也要改到65536行以上

    點評

    改這個地方 Range("a1:h6")  詳情 回復 發表于 2013-12-13 14:09

    ET圖書作者

    4
     樓主| 發表于 2013-12-13 14:09:25 | 只看該作者
    cdsqll 發表于 2013-12-13 13:56
    請問如何在07中用,如果數據源超過65536行,新數據源也要改到65536行以上

    改這個地方
    Range("a1:h6")
    5
    發表于 2014-4-11 11:22:42 | 只看該作者
    學習透視表
    6
    發表于 2014-6-6 12:06:42 | 只看該作者
    解決了一個極大的難題!非常感謝!大神啊,讓我親吻你的腳趾~
    7
    發表于 2016-3-31 16:47:55 | 只看該作者
    我把數據源擴大,改為range("a1:cz20000"),就會報錯:Type mismatch。請問怎么修改?
    8
    發表于 2017-7-20 21:28:32 | 只看該作者
    好帖子,我在家試了一下是可以的,但是到辦公室用同樣的方法就會報錯:Type mismatch
    家里用的是Excel 2016, 辦公室用的是Excel2013, 不知有沒有關系,好郁悶

    工作簿1.rar

    20.36 KB, 下載次數: 3, 下載積分: 消費券 -5 Ti幣

    9
    發表于 2017-7-21 09:05:36 | 只看該作者
    上一樓附件是我在家里做好沒問題的表,今天在辦公室下載下來打開就提示“此工作薄中的VBA宏已損壞且被刪除。損壞的宏很可能在當前文件中。若要恢復宏,請打開該文件的本分文件(如果有備份文件)“, 有大神知道是為什么嗎?
    10
    發表于 2017-7-21 09:33:06 | 只看該作者
    我發現了,是range的問題,只能是很小的幾行就沒問題,range 改成大數就會提示Type Mismatch...
    這咋解決?
    您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規則

    關閉

    站長推薦上一條 /1 下一條

    Archiver|手機版|Excel技巧網 ( 閩ICP備08107682號-2

    GMT+8, 2020-1-20 08:24

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回復 返回頂部 返回列表
    国际冠军杯