查找公式引用Excel VBA中空白单元格的单元格的最佳方法是什么。我想删除任何引用空白单元格的单元格。
更具体地说,我有两张纸:一张纸包含实际值:
Product Month1 Month2 Month3
Sample1 1 3 5
Sample2 5 7 6
Sample3 3 8 2
另一个是摘要视图,使用公式对值进行求和,使用以下公式:
Product Month1
=values!A2 =SUM(values!B2:D2)
=values!A3 =SUM(values!B3:D3)
=values!A4 =SUM(values!B4:D4)
=values!A5 =SUM(values!B5:D5)
TOTAL =SUM(values!B:D)
现在在前面的示例中,最后一个raw指的是一个空行,即第五行。 Excel将这些单元格显示为“0”。是否有机制在VBA中删除这些单元格?
请注意我更喜欢删除行,以使TOTAL行保持接近实际的最后一个值。否则,Total行可能与其余值相距很远。此外,使用包含公式的空白单元格可能会生成大型Excel文件。
编辑:明确了保持细胞空白的问题。
答案 0 :(得分:1)
它总是最后一行,可以评估为0吗? 如果是这样,你可以使用如下的IF语句:
=IF(SUM(values!B2:D2) > 0 ,values!A2,"") =IF(SUM(values!B2:D2),SUM(values!B2:D2),"")
不需要VBA ......
答案 1 :(得分:1)
我认为Autofilter是去这里的方式。如果A列中有零,我猜你要隐藏整行。你说删除,但我想知道隐藏是否更好。
在范围上放置一个过滤器,对于A列,选择除0之外的所有内容。
答案 2 :(得分:0)
您可以执行此操作,而无需编写代码来删除行。我会使用Arnoldiuss解决方案的变体。
月份总使用量:
=IF(LEN(values!A2)>0,SUM(B2:D2),"")
通过这种方式,您可以简单地填写所有公式,如果您引用不存在的产品,则无需担心。
答案 3 :(得分:0)
根据您的编辑,我猜一个数据透视表符合您的需求。 将产品添加到行标签,并将以下计算字段添加到值
=SUM(Month1,Month2,Month3)
然后添加值过滤器> 0
我不建议删除“公式工作表”中的行,以备将来使用时系列会因为缺少参考而失败。