分享

Excel VBA一键转换户内名单到多行排版 助力疫情防控

 昵称72339616 2022-09-15 发布于湖北

疫情防控工作为什么效率低下,其实Excel水平太低也是一个方面,我老婆就在社区工作,最近我们这里也封控了,她们日常有一半的事情就是在各个群里找居民收集用户信息,然后整理表格,然后就是各种各样的表格数据处理,还要做成各种样式上报汇总,平时工作量小,做得慢就慢点,但是遇到了疫情防控,Excel水平低下的缺点暴露太多,比如我截图这个表,就是一部分工作,这个表左边到右边她手工做,最快也要20分钟,据她说她还算是快的而这样的表可能要做好几张,时间就这么过去了,昨天她说她实在忙不过来了找我帮忙,我就写了一个vba代码,用了5分钟,一键完成,以后类似的表统统可以一键完成!注意这个问题,只有代码可以完成,函数无法做到,所以手里表格工作比较多的朋友,还是学一点vba吧,非常实用,可以10倍100倍的提高日常工作效率!

代码如下

代码思路如下

  1. 按行循环到最大行 声明一个较大的结果数组 比如10000行的brr 避免redim

  2. 名单列先按顿号split拆分到局部数组arr 再循环遍历名单

  3. 注意最后一个名单+空格+手机号 所以按空格split得到第2个数组brr

  4. 在arr内部循环中 结果数组行号k+1依次写入结果行 手机号从crr获得

  5. 注意最后一个k行的姓名要重新写入去掉手机号

6. 循环过程中已经知道结果每行的行数 所以直接计算得到结果合并区域进行合并(代码第10 11行)

7.最后写入数组到结果区 注意这里写入k行 而不是ubound(brr)

8. 设置单元格边框格式  以及居中

案例文件下载 

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多