實用Excel技巧分享:快速拆分工作表的兩種方法

工作表有匯總就有拆分。如何快速拆分工作表呢?本篇文章大家分享效率提高99.99%的快速拆分工作表的兩種方法,希望對大家有所幫助!

實用Excel技巧分享:快速拆分工作表的兩種方法

各位小伙伴有沒有遇到過這樣的問題:當我們把所有的信息匯總在一張表里后,又需要將這張大表按某一條件再拆分成多個工作表。那怎么才能實現呢?可能最笨的方法就是在原工作表篩選數據然后復制粘貼到新工作表,不過這種方法不適合數據多的案例,并且新工作表也需要一一重命名,顯得繁瑣。今天就給大家介紹兩種快捷實用的工作表拆分方法。

如圖,現在要把這個工作表的內容按城市拆分成多個工作表。

實用Excel技巧分享:快速拆分工作表的兩種方法

第1種:極速拆分——VBA(文中提供有代碼)

??? VBA是excel處理大量重復工作最好用的工具。不過很多人對VBA一竅不通,所以今天給大家分享一段代碼,并且詳細解釋了如何根據實際表格修改代碼值,方便大家在工作中使用。

(1)按住Alt+F11打開VBA編輯器,點擊“插入”菜單下的“模塊”。

實用Excel技巧分享:快速拆分工作表的兩種方法

(2)在右側代碼窗口輸入下列代碼。不想動手輸入的可以加群下載已經準備好的代碼文件,直接復制粘貼即可。

Sub 拆分表()

????Dim?i,?iRow,?iCol,?t,?iNum?As?Integer,?sh?As?Worksheet,?str?As?String ????Application.ScreenUpdating?=?False ????With?Worksheets("Sheet1") ?????iRow?=?.Range("A65535").End(xlUp).Row ?????iCol?=?.Range("IV1").End(xlToLeft).column ?????t?=?3 ????????for?i?=?2?To?iRow ????????????str?=?.Cells(i,?t).Value ????????????On?Error?Resume?Next ????????????Set?sh?=?Worksheets(str) ????????????if?Err.number??0?Then ????????????????Set?sh?=?Worksheets.Add(,?Worksheets(Worksheets.count)) ????????????????sh.Name?=?str ????????????End?If ??????????? ????????????sh.Range("A1").Resize(1,?iCol).Value?=?.Range("A1").Resize(1,?iCol).Value ????????????iNum?=?sh.Range("A"?&?Rows.Count).End(xlUp).Row ????????????sh.Range("A"?&?iNum?+?1).Resize(1,?iCol).Value?=?.Range("A"?&?i).Resize(1,?iCol).Value ????????????Next?i ?????End?With Application.ScreenUpdating?=?True End?Sub

代碼解析:

這里用紅色文字表示需要根據實際修改的代碼參數;’用于表示注釋,其后的文字并不影響代碼的運行,只是用于說明代碼的。這里特意用灰色表示注釋文字。

Sub 拆分表 文件名稱,根據自己的文件名修改

??? Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String

??? Application.ScreenUpdating = False 關閉屏幕刷新

??? With Worksheets(“Sheet1“)雙引號內是工作簿名稱,根據實際工作簿名稱修改

???? iRow = .Range(“A65535″).End(xlUp).Row A列的最后一行開始向上獲取工作表的行數,一般只改動Range中的列參數,如要工作表有效區域是從B列開始的,值就是B65535

???? iCol = .Range(“IV1“).End(xlToLeft).Column從最后列(IV)第1行開始向左獲取工作表的列數,一般只改動Range中的行參數,如要工作表有效區域是從第2行開始的,值就是IV2

?

???? t = 3 ‘t為列數,設置依據哪一列進行拆分,譬如,如果是按E列拆分,這里就是t=5

??????? For i = 2 To iRow ?‘i為行數,設置從第幾行開始獲取拆分值,要根據工作表實際改動

??????????? str = .Cells(i, t).Value 獲取單元格(i, t)的值作為拆分后的表格名稱

??????????? On Error Resume Next

??????????? Set sh = Worksheets(str)創建以上述獲取值為名的工作表

??????????? If Err.Number ?0 Then 如果不存在這個工作表則添加一個并命名

??????????????? Set sh = Worksheets.Add(, Worksheets(Worksheets.Count))

??????????????? sh.Name = str

??????????? End If 如果存在這個工作表

?? ?????????sh.Range(“A1″).Resize(1, iCol).Value = .Range(“A1″).Resize(1, iCol).Value獲取工作表標題,一般只改動Range的列值和Resize中的行值,譬如工作表的標題是從B列第3行開始的,則這句代碼就變成 sh.Range(“B1”).Resize(3, iCol).Value = .Range(“B1”).Resize(3, iCol).Value ‘

??????????? iNum = sh.Range(“A” & Rows.Count).End(xlUp).Row 一般只改Range中的列值,如工作表是從B列開始的,這里就變成Range(“B” & Rows.Count).End(xlUp).Row

??????????? sh.Range(“A” & iNum + 1).Resize(1, iCol).Value = .Range(“A” & i).Resize(1, iCol).Value

???????????‘在新表中粘貼工作表數據,一般只改動Range的列值,若工作表是從B列開始的,則就改成B變成Range(“B” & iNum + 1).Resize(1, iCol).Value = .Range(“B” & i).Resize(1, iCol).Value

??????? Next i

???? End With

??? Application.ScreenUpdating = True 打開屏幕刷新

End Sub

(3)代碼輸入完成后,點擊菜單欄里的“運行子過程”。這樣工作表就拆分完成了。

實用Excel技巧分享:快速拆分工作表的兩種方法

完成如下:

實用Excel技巧分享:快速拆分工作表的兩種方法

這樣就通過這種方式一鍵完成工作表拆分了。

第2種:常規拆分——數據透視表

??? 數據透視表真的非常好用,它不僅在數據統計分析上擁有絕對的優勢,而且利用篩選頁也可以幫助我們實現拆分工作表的功能。步驟如下:

(1)選擇數據源任一單元格,單擊插入選項卡下的“數據透視表”。位置選擇現有工作表,單擊確定。

實用Excel技巧分享:快速拆分工作表的兩種方法

(2)把要拆分的字段“城市”放到篩選字段,“日期”“業務員”字段放在行字段,“銷售額”放在值字段。

實用Excel技巧分享:快速拆分工作表的兩種方法

(3)修改數據透視表格式,便于在生成新工作表的時候形成表格格式。

選擇“數據透視表工具”下方“設計”選項卡里的“報表布局”下拉菜單的“以表格形式顯示”。

實用Excel技巧分享:快速拆分工作表的兩種方法

選擇“數據透視表工具”下方“設計”選項卡里的“報表布局”下拉菜單的“重復所有項目標簽”。

實用Excel技巧分享:快速拆分工作表的兩種方法

選擇“數據透視表工具”下方“設計”選項卡里的“分類匯總”下拉菜單的“不顯示分類匯總”。

實用Excel技巧分享:快速拆分工作表的兩種方法

完成結果如下:

實用Excel技巧分享:快速拆分工作表的兩種方法

(4)最后把透視表拆分到各個工作表。選擇“數據透視表工具”下方“分析”選項卡“數據透視表”功能塊里的“選項”下拉菜單的“顯示報表篩選頁”,選定要顯示的報表篩選頁字段為“城市”。

實用Excel技巧分享:快速拆分工作表的兩種方法

(5)為了方便后續處理,把數據透視表修改成普通表格。選擇第一個工作表 “北京”,按住Shift,點擊最后一個工作表“重慶”,形成工作表組。這樣就能批量對所有工作表進行統一操作。

實用Excel技巧分享:快速拆分工作表的兩種方法

全選復制粘貼為值。

實用Excel技巧分享:快速拆分工作表的兩種方法

刪除前兩行,再把日期這列列寬調整一下就完成了。結果如下:

實用Excel技巧分享:快速拆分工作表的兩種方法

數據透視表這種方法比較容易上手,但是步驟比較多,而VBA操作簡單,但需要學習的東西很多。大家根據自己實際情況選擇使用,覺得不錯的話點贊吧!

相關學習推薦:excel教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享