資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成
2022-08-04由 Excel教案 發表于 林業
如何建立透視表
Excel的資料透視表是一個非常強大的功能,說起資料透視表初次出現的時候,那是在我們Excel5的版本中間,在後續的版本依次更新迭代,直至目前仍然在改進中。
當然我們今天不說基礎的資料透視表的建立,而是和你說用VBA程式碼來新建一個數據透視表。也許你會說我可以用資料庫或者列表去完成資料透視表的建立工作,不僅速度快,而且不需要公式,但是我們想和你說的是如何用vba去完成建立工作,一起來看看吧!
我們有如下的源資料區域,是一份銷售額的資料簡單彙總合計表格。那麼我們如何使用程式碼來建立呢?或者在這個時候你和我對如何使用VBA來建立一無所知,那麼我們可以使用錄製宏完成這個。在手動建立的時候,就開啟宏錄製器。
如下為我們手動建立的資料透視表,這個資料透視表完成了銷售人員和月份的金額彙總,這個時候請注意一下資料透視表的幾個關鍵欄位:
Name:透視表的行標籤
Region:透視表的報表帥選欄位
Month:透視表的列帥選欄位
Sales:透視表的金額彙總欄位
這個時候當我們完成資料透視表的建立,即可點選停止錄製宏,我們可以看到如下的錄製宏程式碼:
你看著這個程式碼會發現也很簡單的,但是如果你在重新執行的時候,會提示你一個錯誤,這個為什麼呢?我們建立資料透視表不是重複性動作嗎?怎麼在這個位置就不行呢?
經過仔細分析發現,我們報錯的語句位置出現了一個sheet2工作表,就是因為這個引起的,就是說我們的sheet2已經存在了,所以當我們在次新建資料透視表的時候,就會出現報錯提示。另外這個錄製的宏還存一個數據透視表的名稱,也就是說我們再次新建的資料透視表會出現報錯提示,不能新建PivotTable1資料透視表。
或許你在這個時候會說,那麼建立的資料透視表還有什麼用啊,都不能執行。其實並不是完全沒有用處,至少我們可以學習如何建立資料透視表程式碼。
以下這個幾個程式碼存在的關鍵欄位,我們悉數稍微說一下:
PivotTables:這個相當於我們工作表中的所有PivotTable的集合的一個彙總。比如工作表的sheet1,是worksheets的集合。
PivotCaches:工作薄中的所有的PivotCache集合物件
PivotFields:PivotTable欄位的集合物件
CreatePivotTable:建立資料透視表的方法
說了這麼多,那我們應該如何用程式碼來完成資料透視表的建立呢,一起來看看吧!
程式碼如下:
其實這個程式碼就是修改了上面的錄製宏所完成的程式碼,他們效果是一樣樣的。
需要注意的一點是,當我們把源資料區域先寫入資料透視表的資料快取以後,然後在新增表的話,我們這個時候在建立資料透視表的時候,就不需要指定工作表了。另外說明一點,我們建立了一個物件變數PT (PivotTable),每次就可以建立很多的資料透視表,就不會出現報錯提示。小夥伴一起試試吧,你會發現用程式碼建立資料透視表是如此的簡單。
以上就是我們今天和大家說用程式碼建立資料透視表的簡單方法,如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。
我是Excel教案,關注我持續分享更多的Excel技巧!