我有以下代码行:
ActiveCell.FormulaR1C1 = "=sqrt(RC[-1])"
现在我想使用一个变量而不是 -1,比如 x,如下所示:
ActiveCell.FormulaR1C1 = "=sqrt(RC[x])"
这将返回一个错误。有什么办法可以做到这一点吗?
像这样:
ActiveCell.FormulaR1C1 = "=sqrt(RC[" & x & "])"
RBarryYoung 已经给出了正确的解决方案
也许你可以试试下面的代码
经过测试
Sub Macro1()
Dim X As Integer
X = 1
Range("C1").Value = Sqr(Range("B" & X).Value)
End Sub
根据您的需要更改代码
你很可能不需要在这里循环,你知道你可以做这样的事情吗?
Range("A1:A10").Formula = "=SQRT(B1)"
Excel 将增加每行的引用。
扩展这个问题:我想做的是不言自明:
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 个整数。