2019年6月2日 星期日

[Excel VBA]如何將工作表中的一個特定項目拆分成各個工作表?



本文利用Excel VBA 的字典(dictionary)功能,期望將工作表中的一個特定項目拆分成各個工作表,演示如上述影片。

在Excel VBA中,字典(dictionary)是一個集合物件,基本的組成要素可以分為鍵(key)和項目(item),儲存數據類型包含文字、數字、日期、甚至是數組和物件等等。而字典的特徵為Key具備不可重複性,正好因為唯一性的特徵,使得字典物件具備可查找的功能。相較於利用match、index和vlookup等等excel函數,其藉由將資料儲存在記憶體中,同時執行查找、刪除和重新建立等等處理工作,顯得更有效率。

該範例即是利用key的不可重複性,以達到資料分類和工作表拆分的目的,簡易摘要和說明如下:

1.將原始資料的科目名稱建立成字典中的key,藉由key的不可重複性,將科目名稱篩選出來,並取得每個科目名稱的個數。

2.接著利用每個科目名稱的個數,進行工作表的資料複製和篩選工作,進而達到依科目名稱拆分工作表的目標。

3.最後,既然已達成工作表拆分的結果,重點還是在取得和解讀特定數據,例如同一個科目名稱於半年度的核銷加總數字。


沒有留言:

張貼留言