簡體   English   中英

使用VBA刪除“”行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM