VBA 資料透視表再了解

2021-10-09 02:42:33 字數 2560 閱讀 1380

今天繼續講講vba資料透視表的內容。在昨天插入透視表的內容基礎上,增加一點學習內容。

一、如果需要增加一列原來表上沒有的內容,比如說「利潤」。假設利潤 = 原始資料表上面的收入-費用,怎麼操作呢?

主要**和昨天的內容差不多,新增了2句話,

pt.calculatedfields.add "利潤", "=收入-費用"

pt.pivotfields("利潤").orientation = xldatafield

完整**如下所示(第四步是新增的公式列)

option explicit

sub creatept2()

dim ptcache as pivotcache

dim pt as pivottable

'按照昨天的辦法:第一步,建立快取

set ptcache = activeworkbook.pivotcaches.create( _

sourcetype:=xldatabase, _

sourcedata:=sheets(1).range("a1").currentregion )

'第二步:將快取賦值給pt

sheets.add

set pt = activesheet.pivottables.add( _

pivotcache:=ptcache, _

tabledestination:=range("a3"))

'第三步:設定行列值

pt.pivotfields("部門").orientation = xlrowfield

pt.pivotfields("收入").orientation = xldatafield

pt.pivotfields("費用").orientation = xldatafield

'——第四步:下面就是今天要提到的,插入要計算值得列內容——

pt.calculatedfields.add "利潤", "=收入-費用"

pt.pivotfields("利潤").orientation = xldatafield

'記得加上預設值

pt.displayfieldcaptions = false

end sub

完成效果如下所示

二、怎麼在一張sheet上插入多張透視表呢?其實把上面的內容稍微改一下即可,因為ptcache快取建立好了,多賦值給pt即可。

sub creatept3()

dim ptcache as pivotcache

dim pt as pivottable

set ptcache = activeworkbook.pivotcaches.create( _

sourcetype:=xldatabase, _

sourcedata:=sheets(1).range("a1").currentregion )

sheets.add

'————一張表多插入幾張透視表,咱們就在這多迴圈幾次就是了————

dim i as integer

'公式列建立完了用這個判斷,防止重複建立

dim flag as boolean

flag = false

for i = 1 to 5

set pt = activesheet.pivottables.add( _

pivotcache:=ptcache, _

tabledestination:=range(cells(i * 7 - 4, 1), cells(i * 7 - 4, 1)))

'當然了上面要建立資料透視表的位置不能和以前一樣固定在a3位置了

pt.pivotfields("部門").orientation = xlrowfield

pt.pivotfields("收入").orientation = xldatafield

pt.pivotfields("費用").orientation = xldatafield

'建立一次利潤公式

if flag = false then

pt.calculatedfields.add "利潤", "=收入-費用"

flag = true

end if

pt.pivotfields("利潤").orientation = xldatafield

'記得加上預設值

pt.displayfieldcaptions = false

next

end sub

建立完了的結果如下所示(當然了如果需要每個都長得不一樣,可別直接這樣迴圈)

VBA建立資料透視表

sub 透視表 dim ptc as pivotcache dim pvt as pivottable dim rng as range set rng sheet1.range a1 d45 資料來源 set ptc activeworkbook.pivotcaches.create source...

資料透視表

源明 資料透視表 的用法,他們總問俺 錦繡 又是那個怪怪的 資料透視表 源明 什麼怪怪的,上次不是給你說了,它的用途可大了,尤其是統計一些資料的時候,不用函式就能實現,有人從這些分析中能賺著大錢呢 錦繡 可是有點兒複雜,你知道唄,俺就奇怪你們學理科的人,寫出的東西又枯燥又難懂,俺就學不會,源明 所以...

資料透視表

寫在前面 最近給自己立下乙個任務 掌握excel中的資料透視表 vlookup,如果還有餘力可以再掌握其vba基礎。而因為已經具備程式設計基礎,所以我認為學習vba應該也不是什麼難事,前兩種的話,希望可以達到在簡歷上寫 熟練使用excel中的資料透視表 vlookup 而一點都不心虛,把能力扎扎實實...