[英]Using VBA to delete “” rows
我有一个巨大的宏。 因为宏需要应用于范围为1到200,000行的数据集,所以有很多步骤使用= IF公式,其中输出之一是“”。 例如:
=IF(B2="","",CONCATENATE(B2,C2)
这些公式然后自动填充到工作表的底部。 由于“”不是真正的空白,因此输出末尾的文件每个至少为80 mb,而某些文件可能为10 kb。
如果导出到CSV,可以将文件扩展名更改为txt,在记事本中打开,然后删除除逗号以外的所有行,然后将txt文件重新导入到Excel中,则可以再次修剪文件。手动更改扩展名和逗号,这非常耗时。
是否有人有任何技巧(例如,用“”代替”在粘贴值后留下真正的空白),或可以删除A =“”的所有行而无需花费16个小时即可运行的命令,评估并删除每个分别有154万行)?
这样的事情应该一口气做到:
Range("E2:E" & Range("A" & Rows.count).end(xlup).row).formula = "=IF(B2="""","""",CONCATENATE(B2,C2)"
我做了以下假设:
您需要E列中的公式,如果不需要,请在此处更改: Range("E2:E"
A列的数据一直到所需的公式,如果没有,请在此处更改: & Range("A"
Excel足够聪明,可以在将该公式发布到某个范围时增加该公式,而无需在仅填写一个单元格后进行填写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.