在宏中使用R1C1公式引用(Microsoft Excel)
Gerry发现,最简单的方法是将使用R1C1单元格引用的公式放在一起。她知道在手动将公式添加到工作表中时如何执行此操作,但她想知道如何在自己组合在一起的公式中使用R1C1引用,并使用宏将其填充到单元格中。她想知道这样做时是否需要注意什么。
通常,将公式填充到单元格中时,可以在宏中使用以下类型的语法:
Cells(3,1).Formula = "=A1 + A2" Range("A3").Formula = "=A1 + A2"
这些都可以正常工作。他们都将一个简单的公式填充到单元格A3中。但是,如果要在放入单元格A3的公式中使用R1C1引用,则只需将Formula属性更改为FormulaR1C1属性:
Cells(3,1).FormulaR1C1 = "=R1C1 + R2C1" Range("A3").FormulaR1C1 = "=R1C1 + R2C1"
有趣的是,如果将上述R1C1公式放入单元格中,并且工作表中的R1C1显示未打开,则Excel会将公式转换为活动的显示。换句话说,它将自动将“ = R1C1 + R2C1”更改为“ = $ A $ 1 + $ A $ 2”。反之亦然:将公式“ = A1 + A2”放入一个单元格中,如果您已打开R1C1显示屏,则显示为“ = R [-2] C + R [-1] C”。
您还应该注意,由于Formula和FormulaR1C1都是属性,因此您可以阅读它们并以所需格式在单元格中查看该公式。例如,假设单元格A3包含公式“ = A1 + A2”。如果然后运行以下宏,您将看到以所需格式显示的公式:
Sub TestFormula() Dim sMsg As String sMsg = "Regular format: " & Cells(3,1).Formula & vbCrLf sMsg = sMsg & "R1C1 format: " & Range("A3").FormulaR1C1 MsgBox sMsg End Sub
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(5294)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。