Excel VBA:按班级将数据拆分成多表。按班级拆分成多表。

下面讲解一个案例。这个案例是 check 案例,之前也讲过雷鹏的,这个是按照班级对数据进行拆分,拆分多张表基本需要是这样的。这张表是一个总课程表,事先已经填写好了,那么需要按班级,每个班级拆分成一张表,就是拆分成对应的表,里面增加个什么东西?

这个原始表格对应的是d 到 h列,拆分完之后又把 d 到 h列这部分删除,只留a12和后面这本带颜色的拆分完成这样一种格式。那么这个拆分总体上还是比较简单,之前我没讲过用字典用 union,因为这里面班级一种,大家可能为了方便可以做一个排序再拆分,不用字典这样拆分。

另外一种就是用字典,我这边没有排序,将同样的班级组合到一起,然后统一创建粘贴这样一种方式。看一下代码,首先说了用字典对象是uni,所以说了用了字典对象后期绑定,a r就等于学生总课表,到时候对 a r输入组进行便利,这样效率相对能高一点。

下面大家注意一下因为要新创业表格,包括要删除,所以说把屏幕刷新,这地方成堆使用了上面 false 下面竖,另外一个注意下,这个有一个提示,提示警告上面设置the false 下上面一触。

对这个案例来讲,这个设不设置是没有输入,但是对有一种思路,比如说要删除表格再创表格,那这个地方要加这个,不然删表格会有提示。所以这个地方说一下,下面因为有多张表,所以先把学生总课表激活。

激活之后使用 uni直接对应单元格而前面不用加对应的表,下面就是对 a r数组进行变利。从第二行开始,这个是从第二行开始。也就是说要把年级这一部分本来就是个数值要改成这种格式,几班学生课表这么改成这么个名,首先把它改名,改名完之后在字典里判断是否存在。

如果不存在,注意一下用字典把对应的 a单元格单元格复制给字典,字典对应的是区域,然后下面使用 uni,将字典里面值和新的结合就是这面单元格,按第一列单元格组合,组合完之后再进行执行拷贝是这么个思路。

下面是把相关的数据读入字典。那么另外还存在什么?刚才说了,这里面有一些说明,就是有一些班级名可能是存在的,大家注意是可能是存在的。有可能也不存在。所以就存在问题,存在的文员们怎么处理?

一种刚才说了加这个属性就是,属性是如果已经存,先给它删掉,删掉完统一再建,所以就要加这个属性。另外一种是既然存在了,把数据拷贝给你就ok了,不再重建了。

·没有的再重建好了。这个思路就是这样。首先要查对应的班级对应的表是否存在,所以每张空白的空白如果是存在,那么就把数据拷贝过去,先把这张表内容清空,然后把大家注意一下,这个地方加了个整齐表格到这张表a一的位置,带着标题一块过去。

·然后说d 到 h,原来这张表d 到 h,你要进行删除,这地方加了个删除。删除完了之后因为这个字典对应的表数据处理完了,就把它删除。字典里面兼职删除这个地方就是便利店,如果已经存在了就把数据拷贝过去,同时把字典里面对应兼职删除。下一步字典里面剩下的就是还没有数据的数据。这个地方就对每一个兼职进行便利。

·完了之后大家注意一下,是按照学生总课表这张表为模板,拷贝到这个表最后一部分就往后最后拷贝,就是 flash。因为拷贝这有,在之前说过如果后面不加就变成一个工作部了,如果加可以加。

·还有比方,这是加的 offer 拷贝贝最后。最后对这个表进行改号,改成对应的班级名,这个 k其实就对应这种这种格式班级名。然后这张表的移用区域进行克里尔清空,然后再对整个数据进行拷贝,还是那句话,这地方注意一下整行数据进行拷贝。covera单元格,最后把d 到 h也删除,这样就完成了新表的创建。

·最后这属性一设置ok了,这就是处理过程。比如现在举个例子,把这张表删除了,大家正常的删除表会有这提示。刚才说了,加了这个属性就没有这个提示了。在代码运行当过程中,这个地方删除只留第六个,其他表都会加在他的后面。

·执行代码看一下,先到这,这都没什么很正常。读入了字典,前面读入字典,因为在内存疫情看不到。下面这个地方,如果找到会把内容清空,这就找到了,把六班学生课程表清空了,这个地方再听一下。这个地方就添加了数据。设置完了,下面就每一个进行添加了,比如局部设置一些,好,这地方,因为还没有拷贝,拷贝完看一下。

拷贝完了,一般来了,然后同时把数据清空了。清空完之后大家注意一下,格式还是保留的,就是列宽,什么都是保留的。然后这个地方再进行数据的拷贝,再设置一个端点看一下。数据拷贝来了,d 到 h,在这个t 到 h删除了好了,一把完事了,这样就取消了,其他的都是类似网上拷贝了。

这样就运行完了,实现了拆分目的,相关的代码文档会发在 b 站对应视频下方有链接,评论区有链接,大家可以点击下载。