前景提要(文末提供源码下载,是否需要视频讲解也请投票)
之前我们的工作表的拆分基本上都是针对一个工作表来实现的,今天我们来提升下难度,通过一个条件,我们来同时针对多个工作表进行拆分,并且将拆分之后的结果生成独立工作薄,这个功能使用起来也是非常的强大的,能够将多个工作表的相同内容同时进行拆分,拆分之后每个内容都是一个独立工作薄,你以为拆分之后工作薄内只有一个工作表嘛?不不不,你原来有几个工作表拆分之后就是几个,不改变所有结构,仅仅是实现对内容进行拆分,一起来看看吧
场景说明
先来看看我们今天的数据源
![e484347cf410ce6b59f02bc10e38c922.png](https://i-blog.csdnimg.cn/blog_migrate/7a98a2b50b644f9fe587eb89e0f74422.jpeg)
这是我们今天的数据源,现在有4个表,分别登记了全年级几个班级最近4次的考试,现在这样的登记方式,我们能够非常清楚的针对每次的考试所有班级的成绩进行分析,但是如果我们想要针对各个班级进行分析的时候就有点困难了,因为每个班级的成绩被分布4个工作表中,每个表中还有其他的班级,没有办法针对一个班级来分析,我们可以将每个表中的班级都全部拆分出来,一个班级一个工作薄,里面含有4次的考试成绩,这样不就可以了吗?来试试
代码区
Sub chai()Dim rng As Range, sth As Worksheet, BookN As Workbook, pathn$, zd As Object, arr, crng As RangeSet zd = CreateObject("scripting.dictionary")pathn = ActiveWorkbook.PathSet sth = ActiveSheetSet rng = Application.InputBox("请选择表头区域