久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當(dāng)前位置:首頁>職場>excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)

發(fā)布時(shí)間:2024-01-19閱讀(18)

導(dǎo)讀作者:夏雪轉(zhuǎn)自:excel教程各位小伙伴有沒有遇到過這樣的問題:當(dāng)我們把所有的信息匯總在一張表里后,又需要將這張大表按某一條件再拆分成多個(gè)工作表。那怎么才能....

作者:夏雪 轉(zhuǎn)自:excel教程

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


excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(1)

第1種:

極速拆分——VBA(文中提供有代碼)

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

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

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(2)

(2)在右側(cè)代碼窗口輸入下列代碼。

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



代碼解析:

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

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

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

Application.ScreenUpdating = False 關(guān)閉屏幕刷新

With Worksheets("Sheet1") 雙引號(hào)內(nèi)是工作簿名稱,根據(jù)實(shí)際工作簿名稱修改

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

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

t = 3 t為列數(shù),設(shè)置依據(jù)哪一列進(jìn)行拆分,譬如,如果是按E列拆分,這里就是t=5

For i = 2 To iRow i為行數(shù),設(shè)置從第幾行開始獲取拆分值,要根據(jù)工作表實(shí)際改動(dòng)

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

On Error Resume Next

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

If Err.Number <> 0 Then 如果不存在這個(gè)工作表則添加一個(gè)并命名

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

sh.Name = str

End If 如果存在這個(gè)工作表

sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value 獲取工作表標(biāo)題,一般只改動(dòng)Range的列值和Resize中的行值,譬如工作表的標(biāo)題是從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

在新表中粘貼工作表數(shù)據(jù),一般只改動(dòng)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)代碼輸入完成后,點(diǎn)擊菜單欄里的“運(yùn)行子過程”。這樣工作表就拆分完成了。

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(3)


完成如下:


excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(4)

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


第2種:

常規(guī)拆分——數(shù)據(jù)透視表

數(shù)據(jù)透視表真的非常好用,它不僅在數(shù)據(jù)統(tǒng)計(jì)分析上擁有絕對的優(yōu)勢,而且利用篩選頁也可以幫助我們實(shí)現(xiàn)拆分工作表的功能。步驟如下:

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

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(5)

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

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(6)

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

選擇“數(shù)據(jù)透視表工具”下方“設(shè)計(jì)”選項(xiàng)卡里的“報(bào)表布局”下拉菜單的“以表格形式顯示”。

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(7)

選擇“數(shù)據(jù)透視表工具”下方“設(shè)計(jì)”選項(xiàng)卡里的“報(bào)表布局”下拉菜單的“重復(fù)所有項(xiàng)目標(biāo)簽”。

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(8)

選擇“數(shù)據(jù)透視表工具”下方“設(shè)計(jì)”選項(xiàng)卡里的“分類匯總”下拉菜單的“不顯示分類匯總”。

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(9)

完成結(jié)果如下:

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(10)

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

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(11)

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

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(12)

全選復(fù)制粘貼為值。


excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(13)

刪除前兩行,再把日期這列列寬調(diào)整一下就完成了。結(jié)果如下:

excel拆分工作表代碼如何寫(有比這更快的Excel工作表拆分法嗎)(14)

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


TAGS標(biāo)簽:  excel  分工  作表  代碼  如何

歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-30484.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號(hào)-5 TXT地圖HTML地圖XML地圖