我正在尝试使用列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代码手动完成。
答案 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
。这将为您提供一致的行为和结果。