怎样将一个EXCEL文件分割成几个,数据类似如下:
日期 代码 简称 价格
19991230 600782 新华股份 3.039777867
20000107 600782 新华股份 3.159961989
20000114 600782 新华股份 3.040762999
20000121 600782 新华股份 3.05440676
20000128 600782 新华股份 3.075476475
20000218 600782 新华股份 3.108114082
20000225 600782 新华股份 3.211726328
20000303 600782 新华股份 3.237045747
20000310 600782 新华股份 3.155590918
20000317 600782 新华股份 3.128092981
20000324 600782 新华股份 3.182344612
20000331 600782 新华股份 3.24586823
20000407 600782 新华股份 3.264869702
20000414 600782 新华股份 3.264865882
20000421 600782 新华股份 3.298980069
20000428 600782 新华股份 3.264816218
20000512 600782 新华股份 3.175642592
20000519 600782 新华股份 3.215425881
20010216 600855 PT北旅 2.900344091
20010223 600855 PT北旅 2.782557617
20010302 600855 PT北旅 2.831346897
20010309 600855 PT北旅 2.830155733
20010316 600855 PT北旅 2.801133661
20010323 600855 PT北旅 2.781932433
20010330 600855 PT北旅 2.813328713
20010406 600855 PT北旅 2.824777865
20010413 600855 PT北旅 2.853713537
20010420 600855 PT北旅 2.842004004
20010427 600855 PT北旅 2.837281528
20010622 600855 PT北旅 2.886352581
20010629 600855 PT北旅 2.935276075
20010706 600855 PT北旅 2.98396329
20010713 600855 PT北旅 2.98396329
20010720 600855 PT北旅 2.954404943
20020809 600855 航天长峰 2.501198219
20020816 600855 航天长峰 2.501198219
20020823 600855 航天长峰 2.52008877
20020830 600855 航天长峰 2.503679335
20020906 600855 航天长峰 2.50285298
20020913 600855 航天长峰 2.537823209
20020920 600855 航天长峰 2.520892971
20020927 600855 航天长峰 2.517631954
20021011 600855 航天长峰 2.447533562
20021018 600855 航天长峰 2.473449601
20021025 600855 航天长峰 2.467463736
20021101 600855 航天长峰 2.47600044
20021108 600855 航天长峰 2.475150883
20021115 600855 航天长峰 2.397304189
20021122 600855 航天长峰 2.265734369
20021129 600855 航天长峰 2.297743391
20021206 600855 航天长峰 2.242378509
20021213 600855 航天长峰 2.244521564
20021220 600855 航天长峰 2.273042991
20000324 600711 雄震集团 3.036375052
20000331 600711 雄震集团 3.090287623
20000407 600711 雄震集团 3.053137601
20000414 600711 雄震集团 2.992868176
20000421 600711 雄震集团 3.003169548
20000428 600711 雄震集团 2.968828593
20000512 600711 雄震集团 2.940990936
20000519 600711 雄震集团 2.987367385
20000526 600711 雄震集团 3.009768306
20000602 600711 雄震集团 3.018711224
20000609 600711 雄震集团 3.050831068
20000616 600711 雄震集团 3.069614506
20000623 600711 雄震集团 3.062250085
20000630 600711 雄震集团 3.022252483
20000707 600711 雄震集团 2.991628866
20000714 600711 雄震集团 2.979968678
20000721 600711 雄震集团 3.018691678
20000728 600711 雄震集团 3.044465293
20000804 600711 雄震集团 3.022237876
20000811 600711 雄震集团 3.105590659
我有五六万行,请问如何按代码分割一个,一个代码放到一个文件里面.
谢谢!
首先,谢谢两位的回答,不过还是没有解决,你们这样的方法还是很难完成,不过还是谢谢你们!
准备工具/材料:装有windows 10的电脑一台,Microsoft Office 家庭和学生版 2016 excel软件。
1、在excel加载项中选择方形网格,然后选择汇总和拆分功能。
2、从下拉菜单中选择拆分工作簿。
3、设置要拆分的工作表和要保存的位置,然后单击“确定”。
4、操作完成后,会有提示,可以直接查看文件。
5、可以在指定的文件夹中看到拆分表。
1.举例:原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。
2.点击【开发工具】-【Visual Basic】或者Alt+F11的快捷键进入VBE编辑界面。
3.如下图所示插入一个新的模块。
4.如下图,粘贴下列代码在模块中:
Sub CFGZB()
Dim myRange As Variant
Dim myArray
Dim titleRange As Range
Dim title As String
Dim columnNum As Integer
myRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)
myArray = WorksheetFunction.Transpose(myRange)
Set titleRange = Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”", Type:=8)
title = titleRange.Value
columnNum = titleRange.Column
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i&, Myr&, Arr, num&
Dim d, k
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name <> "数据源" Then
Sheets(i).Delete
End If
Next i
Set d = CreateObject("Scripting.Dictionary")
Myr = Worksheets("数据源").UsedRange.Rows.Count
Arr = Worksheets("数据源").Range(Cells(2, columnNum), Cells(Myr, columnNum))
For i = 1 To UBound(Arr)
d(Arr(i, 1)) = ""
Next
k = d.keys
For i = 0 To UBound(k)
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
Sql = "select * from [数据源$] where " & title & " = '" & k(i) & "'"
Worksheets.Add after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = k(i)
For num = 1 To UBound(myArray)
.Cells(1, num) = myArray(num, 1)
Next num
.Range("A2").CopyFromRecordset conn.Execute(Sql)
End With
Sheets(1).Select
Sheets(1).Cells.Select
Selection.Copy
Worksheets(Sheets.Count).Activate
ActiveSheet.Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
conn.Close
Set conn = Nothing
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
5.如下图所示,插入一个控件按钮,并指定宏到刚才插入的模块代码。
6.点击插入的按钮控件,根据提示选择标题行和要拆分的列字段,本例选择“姓名”字段拆分,当然也可以选择C列的“名称”进行拆分,看实际需求。
7.代码运行完毕后在工作簿后面会出现很多工作表,每个工作表都是单独一个人的数据。具体如下图所示:
本回答被网友采纳