视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501
当前位置: 首页 - 手机 - 正文

excel将一个工作表根据条件拆分成多个工作表的操作方法

来源:动视网 责编:小OO 时间:2020-05-07 23:27:49
导读excel将一个工作表根据条件拆分成多个工作表的操作方法,操作步骤:原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。点击【开发工具】-【VisualBasic】或者Alt+F11的快捷键进入VBE编辑界面。如下图所示插入一个新的模块e799bee5baa6e59b9ee7ad9431333365653266。如下图,粘贴下列代码在模块中:SubCFGZB()DimmyRangeAsVa

操作步骤:原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。点击【开发工具】-【Visual Basic】或者Alt+F11的快捷键进入VBE编辑界面。如下图所示插入一个新的模块e799bee5baa6e59b9ee7ad9431333365653266。如下图,粘贴下列代码在模块中:Sub CFGZB()Dim myRange As VariantDim myArrayDim titleRange As RangeDim title As StringDim columnNum As IntegermyRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)myArray = WorksheetFunction.Transpose(myRange)Set titleRange = Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”", Type:=8)title = titleRange.ValuecolumnNum = titleRange.ColumnApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseDim i&, Myr&, Arr, num&Dim d, kFor i = Sheets.Count To 1 Step -1If Sheets(i).Name <> "数据源" ThenSheets(i).DeleteEnd IfNext iSet d = CreateObject("Scripting.Dictionary")Myr = Worksheets("数据源").UsedRange.Rows.CountArr = Worksheets("数据源").Range(Cells(2, columnNum), Cells(Myr, columnNum))For i = 1 To UBound(Arr)d(Arr(i, 1)) = ""Nextk = d.keysFor 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.FullNameSql = "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 WithSheets(1).SelectSheets(1).Cells.SelectSelection.CopyWorksheets(Sheets.Count).ActivateActiveSheet.Cells.SelectSelection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _SkipBlanks:=False, Transpose:=FalseApplication.CutCopyMode = FalseNext iconn.CloseSet conn = NothingApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub如下图所示,插入一个控件按钮,并指定宏到刚才插入的模块代码。点击插入的按钮控件,根据提示选择标题行和要拆分的列字段,本例选择“姓名”字段拆分,当然也可以选择C列的“名称”进行拆分,看实际需求。代码运行完毕后在工作簿后面会出现很多工作表,每个工作表都是单独一个人的数据。具体如下图所示:注意:1)原始数据表要从第一行开始有数据,并且不能有合并单元格;2)打开工作簿时需要开启宏,否则将无法运行代码www.51dongshi.net防采集。

在excel中,经常会用到将一个工作表根据条件拆分成多个工作表,那你是否知道如何操作呢?下面就来分享一下其操作步骤。

材料/工具

excel,电脑

你这个可以用查询的方法。在同一个工作簿上建立多个以地区为名的表。假设原表名为“明细”,新建了一个名为

方法

首先,打开要操作的excel表,如图所示。

For i = 0 To UBound(k) - 1这行改成for i=Lbound(k)

然后,点击界面上方的“开发工具”,再点击下方的“VB编辑器”,如图所示。

一个Excel工作簿中的多个工作表想拆分成表格,首先打开表格找到并选中表格右下角的表一,然后,点

然后,点击界面上方的“插入”选项卡,再在弹出的框中点击“模块”,如图所示。

Excel是职场办公人员很常见的一种数据处理工具。excel应用广泛。Excel表格制作、Excel

然后,复制粘贴下列代码在模块中,如图所示。

操作步骤:原始数据表如下(名称为:数据源),需要根据B列人员姓名拆分成每个人一个工作表。点

Sub CFGZB()

以WPS 2019版本为例:关于一个EXCEL如何将一个工作表根据条件拆分成多件工作表,您可使用W

Dim myRange As Variant

excel将一个工作表根据条件拆分成多个工作表方法详见:https://jingyan.baidu.

Dim myArray

以WPS 2019版本为例:关于EXCEL如何将1个工作表按条件分割成多个工作表,您可使用WPS参

Dim titleRange As Range

以WPS 2019版本为例:关于Excel把一个工作表拆分成多个工作表,您可使用WPS参考下述步骤

Dim title As String

你这个可以用查询的方法。在同一个工作簿上建立多个以地区为名的表。假设原表名为“明细”,新建了一个名为

Dim columnNum As Integer

For i = 0 To UBound(k) - 1这行改成for i=Lbound(k)

myRange = Application.InputBox(prompt:="请选择标题行:", Type:=8)

一个Excel工作簿中的多个工作表想拆分成表格,首先打开表格找到并选中表格右下角的表一,然后,点

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) & "'"

Dim Nowbook As Workbook

Set Nowbook = Workbooks.Add

With Nowbook

With .Sheets(1)

.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

End With

ThisWorkbook.Activate

Sheets(1).Cells.Select

Selection.Copy

Workbooks(Nowbook.Name).Activate

ActiveSheet.Cells.Select

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

Nowbook.SaveAs ThisWorkbook.Path & "" & k(i)

Nowbook.Close True

Set Nowbook = Nothing

Next i

conn.Close

Set conn = Nothing

Application.DisplayAlerts = True

Application.ScreenUpdating = True

End Sub

然后,按组合键“CTRAL+F”,点击替换,查找内容为“成绩单”,替换为文件sheet表的命名。

然后,点击界面上方的“运行”,再点击“运行子过程/用户窗体”。

然后,在弹出的窗口里选择,条件所在位置,再点击“确定”,如图所示。

然后,在弹出的对话框中,点选筛选条件,如图所示,再点击“确定”,如图所示。

这样,就将一个工作表根据条件拆分成多个工作表了。

以WPS 2019版本copy为例:关于一个EXCEL如何将一个工作表根据条件拆分成多件工作表,百您可使用WPS参考下述步骤完成操作:1、打开「表格度(Excel)」文档;2、点击「数据-拆分表格」;3、按需选择「把工作表按知照内容拆分」或「把工作簿按照工作表拆分」使用即道可,生成表格是简单的,问题是你的日期,必须要是规zhidao范的日期格式(你可在空白单元格输入公式:=TODAY(),显示的就是规范的日期格式版),否则真难操作啊!操作上只要用一个数组公式即可,但是数据量大权的话运算和计算反应会比较慢的更多追问追答追问那请问是什么公式呢??追答新建一个工作表,在第一行输入相应的表格头,然后在A2单元格输入数组公式:=IFERROR(INDEX('18年销售记录总表'!A2:A42,SMALL(IF(MONTH('18年销售记录总表'!$A$2:$A$42)=1,ROW($2:$42),4^8),ROW(A1)))&"","")复制并下拉,再向右拉,即可得到1月份的数据表,把上面公式中的等于1改成等于2即为2月份的表此公式为数组公式,粘贴或者输入完毕必须是CTRL+SHIFT+ENTER这3键同时按结束,否则公式无效!!!同时,公式里的数字42要改为总表中最后一行数据所在行的行号,此处总表以第2行开始有数据。新生成表格中的日期列必须要设置成日期格式,否则显示仅为数值……追问不知道什么原因改了日期格式还是显示的数字呢追答把日期这一列的公式改成为:=IFERROR(INDEX('18年销售记录总表'!A2:A42,SMALL(IF(MONTH('18年销售记录总表'!$A$2:$A$42)=1,ROW($2:$42),4^8),ROW(A1))),"")追问好像还是有问题,出来的数据比原始数据少了的追答1、那个ROW改成:ROW($1:$9858)2、第一个要改成A$2:A$9859,因为没有绝对定位,本回答被提问者和网友采纳,excel将一个工百作表根度据条件拆知分成多道个工作内表方法详见:容https://jingyan.baidu.com/article/c45ad29cd48857051753e285.html,这个别人要理解得先知道你拆分的条件是什么,vba代码?内容来自www.51dongshi.net请勿采集。

标签: 天神镇 天才
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

局域网里怎么设置文件夹共享 如何用photoshop快速去除照片上的污点 使用ps时提示磁盘已满无法继续预览该如何处理 怎么让word中的网址能够点击链接到网站 如何用ps抠签名photoshop抠图手写字签名 如何在word中设置重复标题行跨页显示标题行 网页中的上传附件按钮无法使用是什么原因 输入法无法使用的解决方法 如何解决fonts中安装不新字体的问题 ps魔棒一键抠章子的技巧 怎么解决打开word文档时提示用安全模式打开 绝地求生大逃杀怎么退款 硬盘gpt分区与mbr分区有什么区别 电脑提示出现ip地址冲突该如何解决 新浪微博v认证当天直接通过的技巧 word中前几页用罗马数字页码后面用阿拉伯页码是什么原因 怎么把从网页上复制的带底色的文字在word上去掉 如何在excel文档中批量隔一行插入一行 如何在word文档中画出一个圆并把图片插入到圆中 怎么在word里绘制的间距均匀可编辑的数轴 word2007你正在试图运行的函数包含有宏如何解决 深圳通怎么开通微信二维码支付和关闭 word文档无法打印显示当前打印机安装有问题如何解决 手机新浪微博该如何发微博 qq空间没有权限该如何进 手机wpsoffice表格数据自动求和功能怎么使用 该如何把cdr转换成psd分层图层 icloud照片恢复到手机的方法 头条号如何申请原创 怎么在wps文字中将两个或多个文档合并为一个 苹果电脑如何切换系统 如何关闭电脑登陆qq弹出腾讯网迷你版新闻窗口 如何在电脑下载导学号 幻灯片放映格式ppsx和pps怎么转换成ppt wps怎么隐藏文字和显示隐藏的文字的方法 手机蓝牙怎么连接电脑蓝牙来互传文件 怎么使用ps截取视频中的一段制作gif动图 excel中subtotal函数的使用指南 局域网共享无法访问您可能没有权限使用的解决方法 如何让wps表格完整显示18位身份证号码
Top