我有以下代码行:
ActiveCell.FormulaR1C1 = "=sqrt(RC[-1])"
现在代替-1,我想使用一个变量,比如x,如下所示:
ActiveCell.FormulaR1C1 = "=sqrt(RC[x])"
这会返回错误。我有什么方法可以做到这一点吗?
答案 0 :(得分:8)
像这样:
ActiveCell.FormulaR1C1 = "=sqrt(RC[" & x & "])"
答案 1 :(得分:0)
RBarryYoung已经给出了正确的解决方案
可能您可以尝试下面的代码
测试
Sub Macro1()
Dim X As Integer
X = 1
Range("C1").Value = Sqr(Range("B" & X).Value)
End Sub
根据您的需要更改代码
答案 2 :(得分:0)
你很可能不需要在这里循环,你知道你可以做这样的事吗?
Range("A1:A10").Formula = "=SQRT(B1)"
Excel将增加每行的参考值。
答案 3 :(得分:0)
扩展这个问题:我想做的是自我解释:
Dim max1, sig1 As Integer
max1 = Range("B5")
sig1 = Range("I5")
Range("B9").Select
ActiveCell.FormulaR1C1 = "=INDEX(LINEST((R1C[" & sig1 & "]:R1C[" & max1 & "]),),1)"
在最后一行失败,因为它将此解释为:INDEX(LINEST((R4C:R4C),),1) 如果我告诉它我想要适合的那些细胞在哪里工作正常工作:
ActiveCell.FormulaR1C1 = "=INDEX(LINEST((R1C2:R1C1793),),1)"
确认max1 = 1793,sig1 = 1009,第1行包含4096个整数。