回覆列表
-
1 # Bean毛豆
-
2 # Bean蠶豆
Excel電子表格將表裡面的拆分到多個表裡面,方法的話有三種:第一種是透過手工分拆的方法,即選擇合適的資料,然後透過複製、貼上的方法貼上到目標表中。這種方法的不便之處是需要自己手工去篩選,對於資料量不大的情況下還是挺好的,快速便捷。第二種是VBA的方法,VBA的好處是可以透過程式碼靈活地控制,可以更加豐富地組織資料的格式,可以將資料按照需要設定多種樣式。第二種就是透過資料透視表,資料透視表可以按照需要生成一定格式的資料,然後選擇一個主欄位,根據欄位的不同值製成不同的表,就可以達到將表中的資料拆分到多個表中。以上三種方法只是我知道的三種,還有其它的方法達到相同的目的。
-
3 # 玩Office
最簡單有效的方法,不是函式,不是VBA,而是資料透視表!
很多人只知道資料透視表用於資料分析非常強大,但是資料透視表的有一項“顯示報表篩選頁”命令就可以完美輕鬆地解決這個問題。
思路:
1. 建立一個輔助列(從1開始,填充到最後)。
2. 插入資料透視表,對輔助列資料分組。
3.分組後將輔助列欄位拉到篩選頁。
4. “顯示報表篩選頁”。
5. 雙擊快速提取資料生成新工作表。
整個過程中不需要函式,不需要寫程式碼,完全簡單操作。
下面的影片可以讓你更快速掌握這一使用技能:
當然,這種方法雖說簡單,但是仍然存在一定侷限性。上影片中是以1000步長分組的,這種方法沒毛病,簡單易上手。
但是如果是以100步長分組的話,那麼提取資料的時候就顯得繁瑣了(提取49次)。這這種情況下更適合用VBA。
這種有規律性的分拆,可以想到用VBA進行拆分,當然拆分多表格的方法有很多種,資料透視表也可以進行相應的操作。在這裡以VBA為例。
Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,是微軟開發出來在其桌面應用程式中執行通用的自動化(OLE)任務的程式語言。主要能用來擴充套件Windows的應用程式功能,特別是Microsoft Office軟體。也可說是一種應用程式視覺化的Basic 指令碼。
由於微軟Office軟體的普及,人們常見的辦公軟體Office軟體中的Word、Excel、Access、Powerpoint都可以利用VBA使這些軟體的應用更高效率,例如:透過一段VBA程式碼,可以實現畫面的切換。
VBA操作程式碼示例上圖中的程式碼就是一個簡單的表格拆分程式碼,在這裡對程式碼進行相應的解釋一下:
Sub test() 定義的宏名稱;
With Sheet1 通俗點講with的作用就是簡化程式碼,讓程式碼簡潔易懂,讓我們不需要輸入重複的內容,和End With一起使用;
m = 2 定義一個變數,因為第一行是欄位名稱,所以開始值為2;
Do....Loop...迴圈語句,只要滿足條件,語句會一直執行下去,直到不滿足條件為止;
If m > 43512 Then Exit Do 這個是判斷是否跳出迴圈的條件;
.Range("A" & 1 & ":i" & 1).Copy ActiveSheet.Range("A1")複製準備分拆表格的第一行欄位名;
.Range("A" & m & ":i" & m + 999).Copy ActiveSheet.Range("A2")將1000行資料拆分到各新的表格中;
ActiveSheet.Name = m - 1 & "-" & m - 1 + 999新的表的名稱;
m = m + 1000步長。
以上就是VBA操作的程式碼簡要說明,最後執行的結果如下所示: