【发布时间】:2014-08-20 05:22:38
【问题描述】:
我想创建一个引用 B1 等单元格的单元格公式,例如ActiveSheet.Cells(1,x).Formula = "=B1*" & x。但是,我想使用 .Cells 函数而不是 Range 对参考单元格的引用。
给定:
Dim x As Integer
Dim y As Integer
x = 5
y = 10
我想要这个:
ActiveSheet.Cells(1,x).Formula = "=" & ActiveSheet.Cells(y,1) & "*" & x
提供与以下相同的输出:
ActiveSheet.Cells(1,x).Formula = "=B" & y & "*" & x
理想情况下,我希望能够动态更改我在公式中引用的单元格的行和列。但是,我仍然希望单元格在公式中显示为一个单元格,而不仅仅是引用单元格的值。
【问题讨论】:
-
您遇到了什么问题?
-
您可以使用
.Address获取单元格的地址而不是其公式 - 例如,ActiveSheet.Cells(y,1).Address(False, False)。 -
好的,我知道
.Address在避免获取公式方面是如何工作的,但是如果我使用.Address,这个:ActiveSheet.Cells(1,x).Formula = "=" & ActiveSheet.Cells(y,1).Address(False, False)会给我同样的:ActiveSheet.Cells(1,x).Formula = "=B" & y & "*" & x,提供 x = 5 和 y = 10? -
^经过测试,好像可以了!
-
@rdhs 你如何设置
ActiveSheet.Cells(y,1).Address(False, False)等于一个变量。它是什么对象类型?范围? (我尝试将其设置为一个范围,但它不起作用)
标签: excel vba dynamic range formula