Der*_*rek 5 excel vba excel-vba
我正在尝试使用VBA编写此公式:
ActiveCell.Value = "=f(R[-1]C[0],Sheet1!" & ColumnLetter & i & ")"
Run Code Online (Sandbox Code Playgroud)
其中ColumnLetter是我的宏之前计算的一些变量字母,而f是某个函数,而我是一些数字.
问题是,当我运行它时,相反给出了单元格:(如果ColumnLetter = F,i = 16):
=f(R[-1]C[0],Sheet1!'F16')
Run Code Online (Sandbox Code Playgroud)
但我想要:
=f(R[-1]C[0],Sheet1!F16)
Run Code Online (Sandbox Code Playgroud)
为什么VBA或Excel会在F16附近放置这些单引号?如果我在公式中不包含R [-1] [0]作为参数,它不会插入这些额外的引号,但我需要包含它.
非常感谢!
它的组合R1C1
和A1
解决.您需要选择一种方法并将其用于两个部分.
请注意,如果您键入=f(R[-1]C[0],Sheet1!F16)
单元格,则会出于同样的原因出错.
你说你需要使用R1C1样式作为第一个地址,但是(假设这是因为你不想要绝对地址)你可以.Offset
改用
ActiveCell.Value = "=f(" & ActiveCell.Offset(-1, 0).Address(False, False) _
& ",Sheet1!" & ColumnLetter & i & ")"
Run Code Online (Sandbox Code Playgroud)