首页 > 解决方案 > 不能用 R1C1 公式连接变量

问题描述

我目前在尝试使 R1C1 公式在使用变量时工作时遇到问题。

Example = Range("O4").End(xlDown).End(xlDown).End(xlDown).End(xlDown).End(xlDown).Offset(5, 0).Address

Range(TableDaysStart).FormulaR1C1 = "=" & Example

出现错误应用程序定义/对象定义错误。即使这是一个如此简单的串联示例,它也不起作用。那么出了什么问题呢?

有趣的是,这会起作用

Range(TableDaysStart).Formula = "=" & Example

有谁知道为什么?我觉得这与我定义变量的方式有关。

标签: excelvbavariables

解决方案


您正在检索 xlA1 格式(例如 $D$2)的单元格地址,但尝试将其用作 xlR1C1 格式(例如 R2C4)。

您可以询问 xlR1C1 中的地址并将其用作 .FormulaR1C1 中的 xlR1C1 ,如下所示,

dim example as string

Example = Range("O4").End(xlDown).End(xlDown).End(xlDown).End(xlDown).End(xlDown).Offset(5, 0).Address(referencestyle:=xlR1C1)
Range(TableDaysStart).FormulaR1C1 = "=" & Example

或者您可以询问 xlA1 样式(默认)的地址,并将其用作 .Formula 中的 xlA1,如下所示。

dim example as string

Example = Range("O4").End(xlDown).End(xlDown).End(xlDown).End(xlDown).End(xlDown).Offset(5, 0).Address(referencestyle:=xlR1C1)
Range(TableDaysStart).Formula = "=" & Example

Range.Address 属性 Range.Formula 属性 Range.FormulaR1C1 属性


推荐阅读