您的位置首页生活百科

excel表格如何自动分类拆分成多个数据薄

excel表格如何自动分类拆分成多个数据薄

的有关信息介绍如下:

问题补充说明:我想在有有一份总表 表头为 班级 姓名 社团 社长 上课地点 我需要将总表分别按 社团 班级 自动拆分成两种表格 既一种为 将同一社团的拆分成一个表格 另一种为 将同一班级的拆分为一个表格 并且我在总表中每个社团人员的改动(增加减少... 我想在有有一份总表 表头为 班级 姓名 社团 社长 上课地点 我需要将总表分别按 社团 班级 自动拆分成两种表格 既一种为 将同一社团的拆分成一个表格 另一种为 将同一班级的拆分为一个表格并且我在总表中每个社团人员的改动(增加减少等)或班级学生所报社团的改动 在分表上也要自动更改是否可以实现? 要用什么函数 望各位高手指点 急球 简单原始的复制粘贴就算了 我要简单的方法 展开

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

excel表格如何自动分类拆分成多个数据薄

2.点击【开发工具】省若-【Visual练待状事因机Basic】或者Alt+F11的快捷键进入VBE编辑界面。

excel表格如何自动分类拆分成多个数据薄

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

excel表格如何自动分类拆分成多个数据薄

4.如下图,粘贴下列代码在模国友色燃帮六劳括与块中:

SubCF老事与女包看京游GZB()

  DimmyRangeAsVariant

  DimmyArray

  DimtitleRangeAsRange

  DimtitleAsString

  Di沉粮过频千正活mcolumnNumAsInteger

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

  myArray=***.transpose(myRange)

  SettitleRange=***.inputbox(prompt:="请选择拆分的表头,必须是第一行,且为一个单元格,如:“姓名”",Type:=8)

  title=***.value

  columnNum积获谈发玉=***.colu等确mn

  ***.scree攻操铁呀节种服nupdating=False

  *既补府革特**.displayalerts=False

  Dimi&,Myr&,Arr,num&

  Dimd,k

  For千i=***.countTo1Step-1

    IfSheets(i).Nam香e<>"数据源"Then

      Sheets(i).Delete

    EndIf

  Nexti

  Setd=CreateObject("***.dictionary")

  Myr=Work存重更奏样孩婷任sheets("数据源").usedra总源跳nge.***.count

  Arr=Wo深功没入洲乎叶rksheets("数据源").Range(Cells(2,column认到Num),Cells(Myr,columnNum))

  Fori=1ToUBound(Arr)

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

  Next

  k=***.keys

  Fori=0ToUBound(k)

    Setconn=CreateObject("***.connection")

    ***.open"provider=microsoft.***.oledb.4.0;有货影必述施带extendedproperties=excel8.0;d副希时套计atasource="&***.fullname

    S仍ql="select*from[数据源$]where"&title&"='"&k(i)&"'"

    ***.addafter:=Sheets(***.count)

    WithActiveSheet

      .Name=k(i)

      Fornum=1ToUBound(myArray)

        .Cells(1,num)=myArray(num,1)

      Nextnum

      .Range("A2").CopyFromRecordset***.execute(Sql)

    EndWith

    Sheets(1).Select

    Sheets(1).***.select

    ***.copy

    Worksheets(***.count).Activate

    activesheet.***.select

    ***.pastespecialPaste:=xlPasteFormats,Operation:=xlNone,_

                SkipBlanks:=False,Transpose:=False

    ***.cutcopymode=False

  Nexti

  ***.close

  Setconn=Nothing

  ***.displayalerts=True

  ***.screenupdating=True

EndSub

excel表格如何自动分类拆分成多个数据薄

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

excel表格如何自动分类拆分成多个数据薄

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

excel表格如何自动分类拆分成多个数据薄

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

excel表格如何自动分类拆分成多个数据薄