【发布时间】:2015-09-08 20:53:54
【问题描述】:
我有一个巨大的宏。因为宏需要应用于 1 到 200,000 行的数据集,所以有很多步骤我使用 =IF 公式,其中一个输出是“”。例如:
=IF(B2="","",CONCATENATE(B2,C2)
这些公式随后会自动填充到工作表的底部。由于 "" 不是真正的空白,因此输出末尾的文件最终每个文件至少为 80 mb,而有些文件可能为 10kb。
如果我导出为 CSV,我可以再次修剪文件,将文件扩展名更改为 txt,在记事本中打开,并删除所有仅由逗号组成的行,然后将 txt 文件重新导入 Excel,但是这需要我手动更改扩展名和删除逗号,这非常耗时。
有没有人有任何技巧(例如在粘贴值后留下真正空白的“”的替代品,或者可以删除 A =“”的所有行的命令,不需要 16 小时运行、评估和删除154 万行中的每一行)?
【问题讨论】:
-
对 A 列的空白进行过滤然后删除?根据行数和您的内存,可能仍需要几分钟,但远远少于 16 小时 XD
-
好的,所以我想我可以设计一个过滤器,但是选择所有非隐藏单元格的 VBA 命令是什么?即使我先过滤,如果我说“全选”,它不会删除所有内容吗?
-
为什么总是要填到表格的底部?你不能只填写数据吗?
-
过滤空白列,然后将其删除。请参阅This 只需将标准用作
Criteria1:="="用于空白