按任意字段将总表拆分为多个分表
代码详细解释见注释,概要说明如下:
第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






