2014-10-06 267 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