设为首页 - 加入收藏 即日起开通【站长IN交流群】
独立ip免备案空间仅100元起 美国高防vps 香港vps
打不死的【香港高防服务器】 精准的淘宝流量排名猛涨
兼职优化合作Q:2805144911 253个ip香港服务器1499元
您的当前位置:主页 > 软件教程 > 办公软件 > 正文

excel将一个工作表根据条件拆分成多个工作表图文教程

来源:ZzWww 编辑:ZzWww 时间:2019-04-15
本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表。

注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为“数据源”,而不是你新建工作簿时的sheet1这种。手动改成“数据源”即可。

软件名称:
Excel2003绿色版 EXCEL2003精简绿色版 (附excel2003绿色工具)
软件大小:
13.3MB
更新时间:
2012-06-19

操作步骤:

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

excel将一个工作表根据条件拆分成多个工作表图文教程

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

excel将一个工作表根据条件拆分成多个工作表图文教程

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

excel将一个工作表根据条件拆分成多个工作表图文教程

excel将一个工作表根据条件拆分成多个工作表图文教程

如下图,粘贴下列代码在模块中:

复制内容到剪贴板
  1. SubCFGZB()
  2. DimmyRangeAsVariant
  3. DimmyArray
  4. DimtitleRangeAsRange
  5. DimtitleAsString
  6. DimcolumnNumAsInteger
  7. myRange=Application.InputBox(prompt:="请选择标题行:",Type:=8)
  8. myArray=WorksheetFunction.Transpose(myRange)
  9. SettitleRange=Application.InputBox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”",Type:=8)
  10. title=titleRange.Value
  11. columnNum=titleRange.Column
  12. Application.ScreenUpdating=False
  13. Application.DisplayAlerts=False
  14. Dimi&,Myr&,Arr,num&
  15. Dimd,k
  16. Fori=Sheets.CountTo1Step-1
  17. IfSheets(i).Name<>"数据源"Then
  18. Sheets(i).Delete
  19. EndIf
  20. Nexti
  21. Setd=CreateObject("Scripting.Dictionary")
  22. Myr=Worksheets("数据源").UsedRange.Rows.Count
  23. Arr=Worksheets("数据源").Range(Cells(2,columnNum),Cells(Myr,columnNum))
  24. Fori=1ToUBound(Arr)
  25. d(Arr(i,1))=""
  26. Next
  27. k=d.keys
  28. Fori=0ToUBound(k)
  29. Setconn=CreateObject("adodb.connection")
  30. conn.Open"provider=microsoft.jet.oledb.4.0;extendedproperties=excel8.0;datasource="&ThisWorkbook.FullName
  31. Sql="select*from[数据源$]where"&title&"='"&k(i)&"'"
  32. Worksheets.Addafter:=Sheets(Sheets.Count)
  33. WithActiveSheet
  34. .Name=k(i)
  35. Fornum=1ToUBound(myArray)
  36. .Cells(1,num)=myArray(num,1)
  37. Nextnum
  38. .Range("A2").CopyFromRecordsetconn.Execute(Sql)
  39. EndWith
  40. Sheets(1).Select

  41. Sheets(1).Cells.Select
  42. Selection.Copy
  43. Worksheets(Sheets.Count).Activate
  44. ActiveSheet.Cells.Select
  45. Selection.PasteSpecialPaste:=xlPasteFormats,Operation:=xlNone,_
  46. SkipBlanks:=False,Transpose:=False
  47. Application.CutCopyMode=False
  48. Nexti
  49. conn.Close
  50. Setconn=Nothing
  51. Application.DisplayAlerts=True
  52. Application.ScreenUpdating=True
  53. EndSub

excel将一个工作表根据条件拆分成多个工作表图文教程

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

excel将一个工作表根据条件拆分成多个工作表图文教程

excel将一个工作表根据条件拆分成多个工作表图文教程


TAG标签:EXCEL 一个 根据 分成 条件 作表

网友评论:

文章右边250

站长IN 网络教程 网站模板 网站地图 xml地图 feed地图 百度地图

Copyright © 2005-2020 ZzWww 站长IN 版权所有 Power by DedeCms

Top