欢迎来到天天文库
浏览记录
ID:51688531
大小:33.63 KB
页数:2页
时间:2020-03-15
《excel表中批量前移数据的宏程序.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、EXCEL表中有效数据迁移宏程式近日,朋友因表格中数据较多,数据删减操作较多,有效数据之间存在许多无效空格单元格,想问问是否有办法给有效数据都给前移,无效空格数据后移,达到一目了然的目的。我想了想,认为数据迁移量较大,而且循环判断较多,简单的EXCEL表宏命令未必支持,就先答应思考几天。设计初期,认为该思想类似于电脑系统中的磁盘碎片整理,就是给数据搬家,从A挪到B而已,其中设计主要判断两个位置,A和B的位置。诸如下表挪移前效果你好挪移你好请挪移挪移后效果你好挪移你好请挪移关键在于A和B两个位置的确认,A位置是有效数据,B位置
2、为空白单元格,空白单元格位置笔者用IsEmpty(Sheets("表名").Cells(x, y).Value来判断,有效数据就用Sheets("表名").Cells(x, n) <> ""来判断A位置了,为避免多次循环判断,这里使用dountil循环命令来执行。样表模式:客户剩余 王小二 大牛 4 牛魔王孙猴子 4嘎子 琉璃 4 吴邪王胖子 4 阿宁小三 4 梦里 九江 4高山族 峨嵋崆峒 3 荷包 水 4具体程式:Subnrzy()Dimx,y,n,m,lAsLongSheets("郑州").Ce
3、lls(1,8)="=counta(郑州!g:g)"Forx=2ToSheets("郑州").Cells(1,8)+1IfSheets("郑州").Cells(x,7).Value<>6ThenForm=1To6y=1DoUntil(IsEmpty(Sheets("郑州").Cells(x,y).Value))y=y+1LoopIfy<6Thenn=y+1DoUntil(Sheets("郑州").Cells(x,n)<>""Orn=6)n=n+1LoopSheets("郑州").Cells(x,y)=Sheets("郑州")
4、.Cells(x,n)Sheets("郑州").Cells(x,n)=""ElseEndIfNextmElseEndIfNextxEndSub具体效果,大家可以下载下来,建立个表格测试下,还是很方便的。也可以下载本人发布的有效数据迁移表,直接测试。
此文档下载收益归作者所有