VBA Excel - 评估函数 - 如何在乘法前添加

时间:2017-04-19 11:56:15

标签: excel vba excel-vba

我现在有这段代码:

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

如您所见,此代码将I列中的每个条目与O列中的相应条目相乘,并将该值放入P列。

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

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

它显然不会起作用,因为它会在我和J的总和之前用数学方法将J乘以O.我怎么能告诉它先将I和J汇总在一起?

提前致谢。

3 个答案:

答案 0 :(得分:2)

正如@Peh在他的评论中所写,只需在乘法之前添加()以使加法工作:

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

答案 1 :(得分:1)

尝试这样......

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

答案 2 :(得分:1)

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

这将做(I + J)* O