2011-01-29 252 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