按任意字段将总表拆分为多个分表

网友投稿 425 2022-10-07

按任意字段将总表拆分为多个分表

今天再给大家分享一段代码,作用是按任意列,将总表数据拆分为多个分表。如下图所示的数据为例,是一张总表,标题行存在合并单元格等特殊情况,现在需要按任意字段,比如C列的班级字段,拆分为多张分表。

复制运行以下代码即可▼

代码详细解释见注释,概要说明如下:

第13至第14行代码调用getTitCount函数过程,获取用户在InputBox对话框中输入的标题行行数。

第17至第18行代码调用GetRngGistC函数过程,获取用户在Application.inputbox对话框中选择的拆分依据列。

第20行代码调用disAppSet过程,取消屏幕刷新等系统设置。

第22至第23行代码将总表数据存入数组aData,并获取获取总表实际存在数据的区域、首列、拆分依据列在实际区域中的第几列、首行和尾行等重要数据。这是由于首行首列未必是第一行第一列,比如本例所示的数据,也就导致拆分依据列的列标未必是实际处理数据的列标。

第31至第35行代码计算标题区域,并赋值变量rngTit。

第38行至第54行代码遍历拆分依据列,处理异常值,比如空格、错误值和可能以”/”为格式的日期值。

按任意字段将总表拆分为多个分表

第13至第14行代码调用getTitCount函数过程,获取用户在InputBox对话框中输入的标题行行数。

第57至第69行代码通过前8行数据判断相关列是否为文本格式,避免文本型数值,比如身份证,在拆分后变形。代码将文本型数值所在的单元格地址赋值变量strADS。

第70至第106行代码按关键字拆分总表数据。其中第78至第85行代码遍历数据源将符合条件的数据存入数组aRes。第86至105行代码新建工作表,并将结果数组的数据写入该工作表,并设置标题行。

第111至第115行代码使用MsgBox函数以消息框的形式显示数据拆分结果信息。

……

示例下载,百度网盘▼https://pan.baidu.com/s/1i9RJD1PdsXoMI72neZNU2w提取码: twwi

原文:https://mp.weixin.qq.com/s/MgOVpaOKU7uB20Aef5ancA

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:若是不会LOOKUP函数的这个用法就太可惜了
下一篇:逆向查询的几个模式化公式,收藏备用
相关文章