農林漁牧網

您現在的位置是:首頁 > 林業

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

2022-08-04由 Excel教案 發表于 林業

如何建立透視表

Excel的資料透視表是一個非常強大的功能,說起資料透視表初次出現的時候,那是在我們Excel5的版本中間,在後續的版本依次更新迭代,直至目前仍然在改進中。

當然我們今天不說基礎的資料透視表的建立,而是和你說用VBA程式碼來新建一個數據透視表。也許你會說我可以用資料庫或者列表去完成資料透視表的建立工作,不僅速度快,而且不需要公式,但是我們想和你說的是如何用vba去完成建立工作,一起來看看吧!

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

我們有如下的源資料區域,是一份銷售額的資料簡單彙總合計表格。那麼我們如何使用程式碼來建立呢?或者在這個時候你和我對如何使用VBA來建立一無所知,那麼我們可以使用錄製宏完成這個。在手動建立的時候,就開啟宏錄製器。

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

如下為我們手動建立的資料透視表,這個資料透視表完成了銷售人員和月份的金額彙總,這個時候請注意一下資料透視表的幾個關鍵欄位:

Name:透視表的行標籤

Region:透視表的報表帥選欄位

Month:透視表的列帥選欄位

Sales:透視表的金額彙總欄位

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

這個時候當我們完成資料透視表的建立,即可點選停止錄製宏,我們可以看到如下的錄製宏程式碼:

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

你看著這個程式碼會發現也很簡單的,但是如果你在重新執行的時候,會提示你一個錯誤,這個為什麼呢?我們建立資料透視表不是重複性動作嗎?怎麼在這個位置就不行呢?

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

經過仔細分析發現,我們報錯的語句位置出現了一個sheet2工作表,就是因為這個引起的,就是說我們的sheet2已經存在了,所以當我們在次新建資料透視表的時候,就會出現報錯提示。另外這個錄製的宏還存一個數據透視表的名稱,也就是說我們再次新建的資料透視表會出現報錯提示,不能新建PivotTable1資料透視表。

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

或許你在這個時候會說,那麼建立的資料透視表還有什麼用啊,都不能執行。其實並不是完全沒有用處,至少我們可以學習如何建立資料透視表程式碼。

以下這個幾個程式碼存在的關鍵欄位,我們悉數稍微說一下:

PivotTables:這個相當於我們工作表中的所有PivotTable的集合的一個彙總。比如工作表的sheet1,是worksheets的集合。

PivotCaches:工作薄中的所有的PivotCache集合物件

PivotFields:PivotTable欄位的集合物件

CreatePivotTable:建立資料透視表的方法

說了這麼多,那我們應該如何用程式碼來完成資料透視表的建立呢,一起來看看吧!

程式碼如下:

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

其實這個程式碼就是修改了上面的錄製宏所完成的程式碼,他們效果是一樣樣的。

需要注意的一點是,當我們把源資料區域先寫入資料透視表的資料快取以後,然後在新增表的話,我們這個時候在建立資料透視表的時候,就不需要指定工作表了。另外說明一點,我們建立了一個物件變數PT (PivotTable),每次就可以建立很多的資料透視表,就不會出現報錯提示。小夥伴一起試試吧,你會發現用程式碼建立資料透視表是如此的簡單。

資料透視表你只會手動建立嗎?其實可以使用VBA一鍵生成

以上就是我們今天和大家說用程式碼建立資料透視表的簡單方法,如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。

我是Excel教案,關注我持續分享更多的Excel技巧!