VBA Excel – 评估函数 – 如何添加之前的多重

我现在有这样的代码:

LR = Range("I" & Rows.Count).End(xlUp).Row Range("P2:P" & LR) = Evaluate("I2:I" & LR & "*O2:O" & LR) 

正如你所看到的,这段代码将I列中的每个条目与O列中的对应条目相乘,并将该值放入P列。

现在我需要修改这个代码,以便将来自列J的相应值与来自列I的值相加, 然后将其与来自列O的条目相乘。如果我只是写这个

  Range("P2:P" & LR) = Evaluate("I2:I" & LR & "J2:J" & LR & "*O2:O" & LR) 

它显然是行不通的,因为它在math上将J与O相乘,然后再做出I和J的汇总。我怎么能告诉它先把I和J汇合在一起呢?

提前致谢。

正如@Peh在他的评论中写道的,只需在add之前添加()可以了:

 Range("P2:P" & LR).Value = Evaluate("(I2:I" & LR & "+J2:J" & LR & ")*O2:O" & LR) 

试试像这样…

 Range("P2:P" & LR) = Evaluate("(I2:I" & LR & "+J2:J" & LR & ")*O2:O" & LR) 
 LR = Range("I" & Rows.Count).End(xlUp).Row Range("P2:P" & LR).formulaR1C1 = "=(RC[-7]+RC[-6])*RC[-1]" 

这将做(I + J)* O