vba將excel按照某一列拆分成多個(gè)文件
1.打開(kāi)目標(biāo)excel,按alt + f11鍵打開(kāi)VBE窗口
2.選擇插入->模塊粘貼下面代碼到編輯器中
Sub 保留表頭拆分?jǐn)?shù)據(jù)為若干新工作簿()
??? Dim arr, d As Object, k, t, i&, lc%, rng As Range, c% ??? c = Application.InputBox("請(qǐng)輸入拆分列號(hào)", , 4, , , , , 1) ??? If c = 0 Then Exit Sub ??? Application.ScreenUpdating = False ??? Application.DisplayAlerts = False ??? arr = [a1].CurrentRegion ??? lc = UBound(arr, 2) ??? Set rng = [a1].Resize(, lc) ??? Set d = CreateObject("scripting.dictionary") ??? For i = 2 To UBound(arr) ??????? If Not d.Exists(arr(i, c)) Then ??????????? Set d(arr(i, c)) = Cells(i, 1).Resize(1, lc) ??????? Else ??????????? Set d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc)) ??????? End If ??? Next ??? k = d.Keys ??? t = d.Items ??? For i = 0 To d.Count - 1 ??????? With Workbooks.Add(xlWBATWorksheet) ??????????? rng.Copy .Sheets(1).[a1] ??????????? t(i).Copy .Sheets(1).[a2] ??????????? .SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls" ??????????? .Close ??????? End With ??? Next ??? Application.DisplayAlerts = True ??? Application.ScreenUpdating = True ??? MsgBox "完畢" End Sub
3.保存后回到excel文件,選擇開(kāi)發(fā)工具->插入->表單控件(按鈕(窗體控件)),沒(méi)有開(kāi)發(fā)工具選項(xiàng)的在設(shè)置里面打開(kāi)選項(xiàng)如圖
4.按住鼠標(biāo)左鍵不動(dòng)然后在excel中劃定一個(gè)按鈕區(qū)域,然后會(huì)自動(dòng)彈出的窗口,選擇剛才保存的宏,點(diǎn)擊確定
5.鼠標(biāo)從按鈕上面移開(kāi) ,然后點(diǎn)擊按鈕輸入要列號(hào),就是根據(jù)哪列的數(shù)據(jù)進(jìn)行拆分文件,下圖我們輸入4就是按照班級(jí)進(jìn)行拆分,根據(jù)不同的班級(jí)拆分成不同的文件
6.點(diǎn)擊確定后,如果彈出完畢提示框代表拆分完成
7.到源文件所在的目錄文件中查看拆分的文件
到此這篇關(guān)于vba將excel按照某一列拆分成多個(gè)文件的文章就介紹到這了,更多相關(guān)vba excel拆分內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
向數(shù)據(jù)報(bào)表添加一個(gè)合計(jì)字段
在數(shù)據(jù)環(huán)境設(shè)計(jì)器中也可以創(chuàng)建一個(gè)合計(jì)字段,即對(duì)來(lái)自部分的數(shù)據(jù)進(jìn)行合計(jì)的字段。2009-07-07Excel·VBA合并工作簿的實(shí)現(xiàn)示例
本文主要介紹了Excel·VBA合并工作簿的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01關(guān)于vba代碼運(yùn)行時(shí)錯(cuò)誤1004?應(yīng)用程序定義或?qū)ο蠖x錯(cuò)誤問(wèn)題
這篇文章主要介紹了vba代碼運(yùn)行時(shí)錯(cuò)誤1004?應(yīng)用程序定義或?qū)ο蠖x錯(cuò)誤,經(jīng)過(guò)一系列問(wèn)題調(diào)查發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,需要的朋友可以參考下2022-10-10當(dāng)編輯框內(nèi)容改變 對(duì)應(yīng)的單元格也隨著改變vba代碼
當(dāng)編輯框內(nèi)容改變 對(duì)應(yīng)的單元格也隨著改變vba代碼2009-07-07VBA 瀏覽文件夾對(duì)話框調(diào)用的幾種方法
VBA 瀏覽文件夾對(duì)話框調(diào)用實(shí)現(xiàn)代碼。大家可以根據(jù)需要選擇。2009-07-07Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn)
表格拆分是常見(jiàn)的數(shù)據(jù)處理,本文主要介紹了Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01