r1c1公式不起作用

时间:2017-07-06 17:10:50

标签: vba excel-vba excel

我正在尝试使用列J中的列J和连接断路器对值进行排名,结果填充在列N中。列J& K是值。

不知怎的,它只在我的单元格指向的地方生成一个值,这意味着如果我在单元格C19上运行vba代码,它将只填充C19中的值1,而不是来自N6,我想要结果。

以下是我的代码,

Sub test()
Dim LR1 As Long
LR1 = Range("J" & Rows.Count).End(xlUp).Row
With Range("N6:N" & LR1)
   ActiveCell.FormulaR1C1 = "=1+SUMPRODUCT(--(R6C10:R33C10<RC[-4]))+SUMPRODUCT(--(R6C11:R33C11<RC[-3]),--(R6C10:R33C10=RC[-4]))"
End With
End Sub

我不确定出了什么问题。我尝试使用excel公式及其工作正常但不是我的vba代码手动完成。

1 个答案:

答案 0 :(得分:1)

ActiveCell是你的问题。

更改 ActiveCell.FormulaR1C1 = "=1+SUMPRODUCT(--(R6C10:R33C10<RC[-4]))+SUMPRODUCT(--(R6C11:R33C11<RC[-3]),--(R6C10:R33C10=RC[-4]))"

.FormulaR1C1 = "=1+SUMPRODUCT(--(R6C10:R33C10<RC[-4]))+SUMPRODUCT(--(R6C11:R33C11<RC[-3]),--(R6C10:R33C10=RC[-4]))"

删除它,它应该做你想要的。

您需要完全符合Range次参赛作品的资格,具体取决于ActiveSheet。这将为您提供一致的行为和结果。