2014-10-06 333 views
-1

我正在計算VBA中的下一個excel表格,並且由於數據量而將結果留作值。但是,我必須根據列將這些範圍乘以1或0。 問題是我不想乘以0,因爲我會丟失我的數據並且必須重新計算它(我不需要它)。 所以,我的宏後,我收到了一個表,例如:乘以單元格公式

var.1 var.2 var.3 
0  0  0  
167  92  549 
159  87  621 
143  95  594 
124  61  463 
0  0  0  
5  12  75 
Range("A2:C9")

Range("A1:C1")我會有個1個或0值將被改變,所以我需要我的Range("A2:C9")是這樣的:

 var.1 var.2 var.3 
    =0*A$1 =0*B$1 =0*C$1 
    =167*A$1 =92*B$1 =549*C$1 
... 

是否有可能做一個宏?感謝的

Table i get after calculating macro

而且我想獲得

enter image description here

+0

所以在A1:C1中,要麼有1或0,如果乘以0,你不想重新計算表格?如果只是1或0,爲什麼要乘以,而不想改變?你能向我們展示數據的截圖嗎? – BradyK 2014-10-06 14:36:44

+0

你有。這樣,如果我將B1中的值更改爲0,則B列中的值將變爲0,將B1更改爲1我將獲取我的初始值並不會丟失數據 – 2014-10-06 14:55:29

+0

我可以執行另一個表,將每個單元格引用到原始並乘以另一個單元格,但我想知道是否有可能解決方案,因爲我問 – 2014-10-06 14:59:33

回答

0

好了,所以我會在這裏做的是首先將原始數據複製到另一個工作表或一組列,使其總是保存。然後使用此公式:

=IF($A$1 = 0, 0,E3) 

而不是寫入單元格E3引用您複製的數據。

+0

如果我做了2個表格,我寧願寫「 「= B3 * B $ 1」'',而不是你的解決方案。 – 2014-10-06 15:08:03

+0

然後這樣做.....這就是我想出的解決方案。 – BradyK 2014-10-06 15:27:02

+0

是的,我理解你,謝謝!但是,知道不同的選擇是很好的,在我的情況下,桌子很大,我很樂意找到一種不重複的方法 – 2014-10-06 15:33:25