导航:首页 > 数据处理 > 如何把数据大量生成多个表格

如何把数据大量生成多个表格

发布时间:2023-01-05 04:02:53

① excel怎么根据内容拆成多个表格

本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表。
注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”,而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。
开启分步阅读模式
工具材料:
Excel
操作步骤:
01
原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。

02
点击【开发工具】-【Visual Basic】或者Alt+F11的快捷键进入VBE编辑界面。

03
如下图所示插入一个新的模块。

04
如下图,粘贴下列代码在模块中:
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

05
如下图所示,插入一个控件按钮,并指定宏到刚才插入的模块代码。

06
点击插入的按钮控件,根据提示选择标题行和要拆分的列字段,本例选择“姓名”字段拆分,当然也可以选择C列的“名称”进行拆分,看实际需求。

07
代码运行完毕后在工作簿后面会出现很多工作表,每个工作表都是单独一个人的数据。具体如下图所示:

08
注意:
1)原始数据表要从第一行开始有数据,并且不能有合并单元格;
2)打开工作簿时需要开启宏,否则将无法运行代码。

② 怎样在Excel中,将几百组数据做成一张张表格

可以利用VBA实现在Excel中将几百组数据做成一张张表格。

软件版本:Office2007

方法如下:

1.将AB两列中的数据,每一行放到一个工作表中:

③ excel中 如何将大量的数据,自动均等的分成几个独立表格!比如1到100 一张表 100-200一张表

肯定是为了任务分解用了。
要分表不难,可以使用宏来实现。
占个坑,一会把代码发上来。

按ALT+F11,双击左侧这个文件名,双击当前工作表名,然后在右侧粘贴以下代码。然后到工作表界面运行aa宏
Sub aa()
Dim newbook As Workbook
a = ThisWorkbook.Name
b = ActiveSheet.Name
h = InputBox("请输入行数")
Application.ScreenUpdating = False
For n = 0 To Range("a65536").End(xlUp).Row \ h
Windows(a).Activate
Sheets(b).Activate
Rows((h * n + 1) & ":" & (h * n + h)).Copy
Set newbook = Workbooks.Add
With newbook
newbook.Activate
ActiveSheet.Paste
.SaveAs Filename:=ThisWorkbook.Path & "\" & Replace(a, ".xls", "") & n & ".xls"
.Close
End With
Next n
Application.ScreenUpdating = True
End Sub

运行时会提示你输入行数,比如100,确定后就会自动拆成100行一个表,并加上序号保存为新文件。
有疑问可以追问。

④ excel中如何根据数据及模版批量生成多个工作簿

举个例子:选中Sheet1,按住Shift键,点Sheet3,右键插入,就可以一次性插入你选中的三个工作表,你一次性选中几个表来插入就可以一次性插入几个表或者不用右键插入直接拖也可以,像楼上说的,但要注意步骤比增加一个的要复杂一点:选中Sheet1,按住Shift键,点Sheet3,放开Shift键,再次点击Sheet1,按住Ctrl键向右拖即可。

阅读全文

与如何把数据大量生成多个表格相关的资料

热点内容
山海经这游戏怎么代理 浏览:929
眼部祛斑产品有哪些 浏览:832
合肥红酒代理商有哪些 浏览:847
湖人交易动向如何 浏览:16
程序员熬夜加班到多少点 浏览:419
新上一个功能需采集哪些数据 浏览:702
招聘基础信息怎么填 浏览:981
刘总现在在哪个市场 浏览:429
公交车驱动程序怎么取名 浏览:268
被抽样调查的原始数据叫什么 浏览:868
人保代驾如何使用代理 浏览:667
怎么引用表格中变动的数据 浏览:153
如何评选贫困户程序 浏览:234
房子按揭期间怎么变更信息 浏览:807
如何写社保方面的信息 浏览:108
普通工是什么技术等级 浏览:464
大梅子祛斑膏如何代理 浏览:245
代售和代理有什么不同 浏览:434
原生之罪四个程序员为什么被杀 浏览:148
如何隐藏筛选的数据 浏览:202