excel如何根据条件将工作表分成多个工作表?
2023-03-19
更新时间:2023-03-19 12:15:35 作者:绿屋百科
本例介绍在excel中如何将一个工作[工作的概念是劳动生产。]表根据条件拆分[可以组合成一个整体的不同部分,单独被分开的过程。]成多个工作表。
注意:很多朋友反映sheets(i).delete这句代码[代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。]出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源[数据源是指数据库应用程序所使用的数据库或者数据库服务器。]”,而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。
操作步骤:
原始数据表如下[如下,指如同下面所叙述或列举的。](名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。
点击【开发工具】-【Visual Basic】或者Alt+F11的快捷键进入VBE编辑界面。
如下图所示插入[插入,根据剧情发展的需要,借助平行蒙太奇手段同时表现几条情节线的一种方法。]一个新的模块[模块是对词条中部分内容进行格式化整理的模板。]。
如下图,粘贴下列代码在模块中:
复制内容到剪贴板
Sub CFGZB()
Dim myRange As Variant
Dim myArray
Dim titleRange As Range
Dim title As String
Dim columnNum As Integer
myRange = Application.InputBox(prompt:= "请选择[我们每天都被五花八门的广告和巧舌如簧的营销人员搞得晕头转向;被时尚潮流牵着鼻子走,信用卡严重透支;苦苦挣扎于数不清的经济新闻和理财建议中,投资收益一塌糊涂;买来一本又一本自助类书籍,指望从中学会塑身美-xuanze]标题行:" , 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***nnection" )
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
以上就是excel如何根据条件将工作表分成多个工作表?的相关介绍,希望能对你有帮助,如果您还没有找到满意的解决方式,可以往下看看相关文章,有很多excel如何根据条件将工作表分成多个工作表?相关的拓展,希望能够找到您想要的答案。