中国投资网 百科 excel如何将一个工作表根据条件拆分成多个工作表

excel如何将一个工作表根据条件拆分成多个工作表

本例介绍了如何根据excel中的条件将一个工作表拆分成多个工作表。

注:很多朋友反映代码表(I)。删除是错误的。注意下面的第一步。创建新工作簿时,要拆分的数据工作表的名称是“数据源”,而不是sheet1。手动将其更改为“数据源”。

操作步骤:

原始数据表如下(名称为:data source),需要根据b列的人名拆分成每个人一张工作表。

点击[开发工具]-[Visual Basic]或快捷键Alt F11进入VBE编辑界面。

插入新模块。

将以下代码粘贴到模块中:

将内容复制到剪贴板

Sub CFGZB()

Dim myRange作为变体

迪姆缅甸

Dim titleRange作为范围

将标题隐藏为字符串

Dim columnNum为整数

My range=application.inputbox(提示:='请选择标题行:'类型:=8)

myArray=工作表函数。转置(myRange)

Set range=application.inputbox(提示:='请选择拆分表头,必须是第一行和一个单元格,如“name”,Type:=8)

title=标题范围。价值

columnNum=titleRange。圆柱

申请。ScreenUpdating=False

申请。显示警报=假

Dim i,Myr,Arr,num

Dim d,k

For i=Sheets。数到1第一步

如果床单(一)。然后命名为“数据源”

床单(一)。删除

如果…就会结束

接下来我

Set d=CreateObject('脚本。字典’)

Myr=工作表(“数据源”)。使用范围。行数。计数

Arr=工作表('数据源')。范围(单元格(2,columnnam),单元格(Myr,columnnam))

对于i=1至下界(Arr)

d(Arr(i,1))=' '

然后

k=d键

对于i=0至UBound(k)

set conn=CreateObject(' adodb . connection ')

' conn . Open ' provider=Microsoft . jet . oledb . 4.0;扩展属性=excel 8.0数据源=' ThisWorkbook。全名

SQL=' select * from[data source $]where ' title '=' k(I)' ' '

工作表。添加在:=张(张。计数)

带活动表。名称=k(i)

对于num=1到UBound(myArray)。单元格(1,num)=myArray(num,1)

下一个数字。范围(' A2 ')。CopyFromRecordset连接执行(Sql)

以…结尾

床单(1)。挑选

工作表(1).单元格. Select

选择。复制

工作表(工作表。数数)。使活动

ActiveSheet。单元格。选择

选择。粘贴特殊粘贴:=xlPasteFormats,操作:=xlNone,_

SkipBlanks:=False,Transpose:=False

申请。CutCopyMode=False

接下来我

关闭控制室

设置连接=无

申请。显示警报=真

申请。ScreenUpdating=True

末端接头

5.插入一个控制按钮,并为刚刚插入的模块代码分配一个宏。

6.单击插入的按钮控件,根据提示选择要拆分的标题行和标题列字段。本例中选择名称字段进行拆分,当然也可以选择C列的名称进行拆分,具体视实际需求而定。

7.代码运行后,工作簿的后面会出现很多工作表,每个工作表都是单个人的数据。特殊的

8.注意:

1)原始数据表应该有第一行的数据,不能有合并单元格。

2)打开工作簿时,需要打开宏,否则无法运行代码。

以上是excel根据条件将一个工作表拆分成多个工作表的图解教程。希望能对大家有所帮助!

本文来自网络,不代表本站立场,转载请注明出处:https:

excel如何将一个工作表根据条件拆分成多个工作表

中国投资网后续将为您提供丰富、全面的关于excel如何将一个工作表根据条件拆分成多个工作表内容,让您第一时间了解到关于excel如何将一个工作表根据条件拆分成多个工作表的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。