我有一个VBA公式,假设使用范围()在Excel中使用数组公式2013
Range("B2:B" & Cells(Rows.Count, "A").End(xlUp).Row).FormulaArray = "=MATCH(RC[-1],Sheet1!C1,0)"
当我运行宏它进入每个单元
=MATCH(A2,Sheet1!A:A,0)
我想RC[-1]
这参数返回单元格A2,A3,A4等。它目前正在为所有行返回A2。我该怎么做呢?
我也试过ActiveCell.FormulaArray
和一个for循环,但它对于我所拥有的行数太慢了。
如果你想将它作为一个数组输入,这个简单的Match不是,你需要先输入到B2中,然后填充到底部。 '.FormulaArray'会将它视为如果突出显示整个范围并将公式放在第一个单元格中,然后按下Ctrl-Shift-Enter即可在所有单元格中输入相同的公式。 –
@ScottCraner是否有办法按Ctrl-Shift-通过VBA单独输入所有单元格,而不涉及循环遍历所有单元格?我尝试了一个for循环,但它非常慢,甚至比手动执行还要慢。 – jjjjjjjjjjj
请参阅下面的答案。 –