面对着一张包含全省数据的Excel表格,我们常常需要按其中某一列的数据通过自动筛选归类,然后以归类的名字新建Excel并将筛选的结果粘贴到新表中。
自动筛选后直接复制粘贴是会把数据全部粘到新表中的的,一行行用鼠标拖更加麻烦,一个简单方法是点击菜单栏:编辑->定位->定位条件->当前区域,然后ctrl+c,再ctrl+v。
自己试验了一下宏并改了一下VBA,无奈selection.copy之后想在新表中paste怎么也不成功,还是放弃了。
下面改用python来完成此功能,代码非常的短。
autofilter.py
f=open(\'.\\candidates.txt\',\'r\') line = f.readline() index=1 while line: m=line.split() f2=open(\'.\\\'+m[index]+\'.txt\',\'a\') f2.write(line) line = f.readline() f.close()
index用来选择筛选的列,split()去掉tab分隔符并转换为list。
需要注意:
有的时候把表格中的内容复制到记事本里会出现" 广东省分行广州越秀支行"或者"安徽省分行 宣城分行"的情况,莫名的出现一些在excel中不会显示和打印的字符,这样的表格在进行各种表格操作时会遇到麻烦,一个简单的方法是使用clean(text)处理一下,就可以去掉文本的引号和空格了。