FormulaR1C1的function是什么?

我一直在看FormulaR1C1作为一个函数,这是如何工作的? 我明白在互联网上所说的第一行第一列是什么,但是人们究竟是怎么做到的呢? 使用FormulaR1C1最终结果是什么?

也可以改变从一张纸上的特定点开始,或者它总是会是R1C1? 那么可能是FormulaR2C3

FormulaR1C1与公式具有相同的行为,仅使用R1C1样式注释而不是A1注释。 在A1注释中,您将使用:

 Worksheets("Sheet1").Range("A5").Formula = "=A4+A10" 

在R1C1中,您可以使用:

 Worksheets("Sheet1").Range("A5").FormulaR1C1 = "=R4C1+R10C1" 

它不作用于第1行第1列,它作用于目标细胞或范围。 第1列与第A列相同,所以R4C1与A4相同,R5C2等于B5,依此类推。

该命令不更改名称,目标单元更改。 对于你的R2C3(也被称为C2)的例子:

 Worksheets("Sheet1").Range("C2").FormulaR1C1 = "=your formula here" 

以下是我的博客中关于如何在vba之外使用formular1c1的一些信息:

你刚写完一个公式,把它复制到整个电子表格中,格式化所有的东西,你意识到你忘了做一个绝对的引用:每个公式都需要引用单元格B2,但现在,它们都引用不同的单元格。

你打算怎么做一个查找/replace单元格,考虑到有一个B5,另一个C12,第三个D25等,等等?

简单的方法是将您的参考样式更新为R1C1。 R1C1参考以相对定位工作:R标记行,C列,以及R和C之后的数字是相对位置(在[]之间)或绝对位置(无[])。

例子:

  • R [2] C是指公式所在的单元格下面两行的单元格
  • RC [-1]指向左边一列的单元格
  • R1C1表示第一行和第一个单元格中的单元格($ A $ 1)

有什么关系? 那么,当你在这篇文章的开头写回你的第一个公式时,B2就是你写的单元格上面的4行,即R [-4] C。 当您复制它时,A1参考变化时,R1C1参考不会。 在整个电子表格中,它是R [-4] C。 如果切换到R1C1参考样式,则可以用R2C2($ B $ 2)replaceR [-4] C,并用一个简单的查找/replace来完成,一次完成。

我发现.FormulaR1C1的最有价值的特征是速度。 与例如几个非常大的循环将一些数据填充到工作表中,如果您可以将您正在做的工作转换为.FormulaR1C1表单。 然后,一个单一的操作,例如myrange.FormulaR1C1 =“我的特殊formuala”是非常快的(可以快一千倍)。 没有循环和计数 – 只需高速填充范围。