使用VBA删除" "行



我有一个巨大的宏。由于需要将宏应用于1到200,000行的数据集,因此在许多步骤中,我使用了一个=IF公式,其中一个输出是"。例:

=IF(B2="","",CONCATENATE(B2,C2)
这些公式会自动填充到工作表的底部。由于"不是真正的空白,因此输出末尾的每个文件最终至少为80mb,而有些文件可能为10kb。

如果我导出为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是足够聪明的增加这个公式,因为它张贴到一个范围,不需要填写后,只填写一个单元格。

最新更新