带变量

时间:2017-06-28 21:17:59

标签: vba excel-vba excel

我需要使用变量引用单元格位置,这里是代码:

 Dim jj As Integer
 jj = 1
 Do While jj <= x
      if Cells(jj, 2) = "Some Criteria" Then Cells(jj, 3).Formula = "=Cells(jj,1)^2"
      jj = jj + 1
      Else
      jj = jj + 1
      End If
 Loop

问题是单元格C1中的值(即当jj = 1时单元格(jj,3))字面上读取= Cells(jj,1)^ 2导致错误,因为VBA外部的excel无法识别单元格(jj,3)作为公式或任何类型的值。

我需要循环向下移动的行。反正有没有做到这一点,并将一个公式插入一个单元格,该单元格引用一个变量作为行的单元格位置?

谢谢!一切都有帮助!

1 个答案:

答案 0 :(得分:2)

使用R1C1表示法:

if Cells(jj, 2) = "Some Criteria" Then Cells(jj, 3).FormulaR1C1 = "=RC1^2"

或者您可以计算A1符号公式,例如

if Cells(jj, 2) = "Some Criteria" Then Cells(jj, 3).Formula = "=$A" & jj & "^2"