2011-01-29 202 views
1

在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) 

现在在前面的例子中,最后一个原始数据指的是一个空白行,即第五行。 Excel将显示这些单元格为“0”。有没有一种机制来删除VBA中的这些单元格?

请注意我更喜欢删除行,以保持TOTAL行接近实际的最后一个值。否则,Total行可能会与其余的值相距较远。另外,使用公式生成空白单元格可能会导致一个大的Excel文件。

编辑:澄清了这个问题的作用,保持细胞空白。

回答

1

它总是最后一行,可以评估为0吗? 如果是这样ü可以用IF语句,如:

=IF(SUM(values!B2:D2) > 0 ,values!A2,"") =IF(SUM(values!B2:D2),SUM(values!B2:D2),"")

没有VBA需要...

+0

我更新的问题,一切都解释,为什么我不喜欢有空白单元格。 – notnoop 2011-01-29 02:02:38

0

你能做到这一点,而无需编写代码来删除行。我会使用Arnoldiuss解决方案的变体。

对于每月总使用:

=IF(LEN(values!A2)>0,SUM(B2:D2),"")

通过这种方式,你可以简单地填写了所有的公式,而不必如果引用不存在的产品的后顾之忧。

0

根据您的编辑我猜数据透视表适合您的需求。 产品添加到rowlabels和下面的计算出的字段添加到值

=SUM(Month1,Month2,Month3)

然后添加一个值过滤器> 0

我不会建议删除所述“式工作表”的行,用于由于缺少参考文献,未来将会使用该系列作品。

1

我认为Autofilter是去这里的路。如果A列中有一个零,我猜你想隐藏整行。你说删除,但我不知道隐藏是一个更好的方法。

放在范围内的过滤器和列的选择,除了0